Hardware: My connection is 5500/720. I run squid, freeswitch, and do lots of traffic shaping, with voip and torrents on the LAN. A 500 MHz Geode is more than enough hardware for this. I could handle 3 times the speed comfortably.
Bandwidth: The more the better, obviously, but when I worked for a wISP a couple years back I observed that we were able to oversell our bandwidth about 30x without too much trouble. In other words, we could sell 1000/300 to 90 clients on a 3000/1000 connection before our pipe really started to max out. Using that math, I would estimate that you could provide 1000/1000 to roughly 60 clients on a 2/2 mpbs pipe before performance would start to suffer at the client's end.