If you mean upload rate then there are a bunch of router that have QoS that can do this.
If you mean download rate then the short answer is no it can't be done. The ISP controls which traffic is sent or dropped to your house. By the time your router gets it the data is gone, its not like your router can recreate data for what you think is the important users.
The longer answer, if you get a very advanced for of QoS you can place limits on the download speed of users. Problem is this does not work for all applications. What it is actually doing is dropping the traffic AFTER it has already used up the bandwidth. So say a user tells a server to send it data at 2m/sec and your router limits the traffic to 1m/sec by dropping 1/2 the packets. From the end user perspective he is only getting 1m/sec but he is actually still using 2m/sec of the bandwidth coming to the house. Unless the user application responds to this data loss by asking the server to send at a slower rate it will make no difference. Some applications send at a certain rate no matter what you do. Games tend to be the best example although some forms of video stream also do. In these cases if the amount of data is more than you want to allow the only way it will work is if the extra loss your router is introducing is so bad that the person using the application gets mad and completely stops. If they choose to tolerate the extra data loss the limitation will have no effect, they will continue to use up the bandwidth
The higher ASUS and TPLINK routers as well as many of the third party firmware have QoS that can be configured to limit inbound bandwidth by user to fixed values. It truly depends on how the user application responds. It partially works but you will still get burst of data at much higher rates from these users until the software figures out it can't run that fast. It works ok on a larger connection that can tolerate these burst of traffic but on very small connections it it a total waste of time.