To do this, you will have to either a) install some kind of proxy server on your computer, or b) configure it to act as a router.
First you need to decide which kind of access you want to give to other computers. If you only want to provide HTTP/HTTPS (i.e. web browsing), you need a), a "web proxy". If you want to allow any kind of internet traffic, you need b).
The rest of your question (data volume restriction, restriction on sites, password protection) will depend on whether you need a) or b). Password protection in particular will be difficult for b) (as some programs that try to access the net may have no way to prompt for a pw).
Quick pointers: For a) (web proxy), there are many implementations. A popular one is Squid, but there are many others. For b), look for "internet connection sharing".
Edit:
If you want to restrict access using a proxy, you need to setup a proxy like Squid, and configure "content filtering", and "authentication".
For setting up Squid on Windows, see http://wiki.squid-cache.org/KnowledgeBase/Windows
For restricting which sites can be accessed, see e.g.
http://www.freesoftwaremagazine.com/articles/web_blocking_squid
For authentication, see http://wiki.squid-cache.org/Features/Authentication
For data volume restriction, I don't know of any of-the box solution. It might make more sense to just monitor bandwith use and warn users who overdo it; that way the full bandwidth is availiable to everyone as long as there are no problems. Otherwise, you'll have to look for other/ additional software.
You might also want to look at other options for proxy software:
https://serverfault.com/questions/161747/top-five-proxy-server-applications