Your main problem as I can see it is that the limits for document upload are set in various places. The lowest level at which you can set this limit is across a web application as it is defined in the web.config file. There are other areas above that scope such as the IIS metabase and machine.config files, but Web Application is the lowest scope AFAIK.
Even if you set this though it can not be over ridden on a user by user basis.
The only way I can think would be to write an event receiver which checks the file size of the document and the user attempting the upload and compares this with a seperate list containing users and a value for the file size which they can upload. Assuming the user has a value in this list greater or equal to the file size they are attempting then this would be allowed otherwise the event is cancelled.
There is some information on creating an event receiver here - great author ;-)
http://www.simple-talk.com/dotnet/.net-framework/how-to-create-event-receivers-for-windows-sharepoint-services-3.0/
You would need to set your Web Application settings to the largest allowable file size and bear in mind that even if you set your list value higher than this for a given user IIS will reject the request.