The best way that I can think off is to use radius.
Usermanager (free) witch is mikrotik based or Radiusmanager installed on a linux pc
After my knowledge squid can only redirect header requests in your pool list and ect but not manipulate a ip address to a certain bandwith speed.
Here is something to get you going, it's quite simple
Mikrotik Usermanager