Squid is a web proxy; it supports the HTTP, HTTPS and FTP protocols. Ping uses ICMP.
In order to ping a host on the Internet (or use any protocol other than the three supported by squid), you need to configure your gateway to perform IP address translation on outgoing connections, hiding the internal, non-routable addresses behind the public IP of the gateway. You can't do this with squid; you'll have to use iptables/netfilter.
Squid can be set up to require
authentication. A Google search will turn up lots of howtos and examples (like
this page and
this page).
I'm sure it can do
download and
bandwidth limiting too, although I've never tried that myself.