squid logs ip's by default. if your clients are running linux or some nix you could setup an ident server for user authentication.
if you clients are windoze you will have to set
up proxy authentication so that you can know which user is going where even if they are using different client machines. however think carefully
because there are serious privacy issues involved.
read the squid faq carefully , you may have to do some fancy work with acls but it mostly works like a charm. further squid is a huge memory hog.
if you need it i'll put up my squid.conf as a base config for your site. for logging and reporting i use sarg .