What type of clients to you use or intend to use? I'm sure what you are suggesting can all be done using Quality of Service policies, but it depends on the network setup. Again this is all layer 3 stuff so I think basing rules on IP addresses might be more effective as you suggested. If you manage all your client gear yourself it would be just as effective as MAC filtering, as in theory your users can't change their own IP to bypass rules.