You can do 1st with iptables. I do not know if squid can do that without netfilter.
If your squid is working fine and logging the requests, your 2nd issue will be solved without much issue. Squid logs all the data passing through.
You can use delay pools for your download and bandwidth restrictions. But I am bit suspicious about the mail attachments. It should be done by your mail server.