The block proposer is included in the block but cannot be accessed by TEAL.
It can be accessed from the algod API though. See Finding block's proposer with new API V2 - #10 by fabrice
There are multiple voting committees.
The step-1 voting committee is not easy to get access to, to my knowledge.
The step-2 voting committee can partially be read from the certs of a block (same API call as for block proposer). There are two issues however that would prevent using this data from TEAL:
- Not all nodes see the same step-2 voting committee: there is no agreement on the votes seen. This could be solved by having the next block proposer include the step-2 votes they saw.
- Once a node sees enough step-2 votes, then it will not necessarily record the following ones. So a single node does not get a good picture of nodes that voted.