I would be helpful to describe what is meant by "votes". As far as I understand this would be a semi-automatic process - nodes encode values which in turn are hardcoded in software, or is this completely automated without any intervention at all? Is there the possibility that nodes decide by encode votes, but somehow this decision is not adhered to? Is 4. a 51% rule?
Under 2. it might make sense to specify values in the range (1MB steps e.g.). The number of options could have an effect. For example if the vote has 4 possible values or 32 possible values can make a difference in outcomes.
With regards to 1. Bitcoin does not have a fee market, although I agree that might be a good goal. There is no price-determination of fees and no definition of quality of service. A fee market would entail some matching of demand and supply to establish a price. Users would adjust fee to win a transaction slow in a deterministic way. However currently the user has no way of knowing what effect a fee might have. So this would necessarily include some kind pricing-mechanism with actual commitments. Bitcoin as a system is quite far away from such a capability. It would mean Bitcoin is capable of adapting to how it is used. For example that would allow to shift transactions from high demand period to low demand period. I'm not aware of any proposal to make an actual functioning fee market in Bitcoin (or even the conceptual primitives).