There are 2 large issues with this. First there is likely no way to prevent someone who is determined to get past the restrictions. You would have to have some form of user based authentication and then limit on userid rather than mac or ip address which can be changed at will. The second problem is this is long term (from a data routers perspective) data. A router does not have a hard drive to store this information so you generally need a firewall that has a drive to store this data though a power outage or reboot.
The only cheap solution that may partially work is called gargoyle. It is a special open-wrt firmware version that has the ability to do quotas. I know little about it, has been on my list of things to play with that I never got around to.
http://www.gargoyle-router.com/
Be aware I do not know how or if it solve the issue of ip address changing or power failures.