Yes, you could do it with an asset in this way, then you get the automatic totalling-up of weighted votes on the chain itself, using the asset balances of each address.
Alternatively you can use a simple stream, where each user indicates their vote in a stream item, and the weighted totally takes place off chain. (Although there's no reason why the weights couldn't be written into another stream as well, for everyone to see them.)