Here's what I'd recommend:
- Stay away from Linksys consumer routers (even putting DD-WRT on it, etc) at all costs for any server scenario, they get flaky under load and more advanced scenarios (VPN, etc) and I have a little pile of dead/bricked ones. They were made for home use and you should keep it that way.
- Separate the switch from the firewall/gateway. A consumer/prosumer gigabit switch would probably be fine for this (i.e. a Netgear 5-port). In the setup you're asking for, simple and efficient is better - putting your servers together on a simple fast Layer 2 switch gives you a solid and simple backbone, and some firewalls or all-in-ones will add additional overhead to their built-in switchports and/or Layer 3 functionality that you don't need here.
- For the firewall / DHCP / gateway / VPN - Some of the Cisco all-in-one's are great, but may have more functionality and enterprisey-ness than you're looking for. Check out a Juniper SSG-5. These used to be Netscreen NS5-GT until Juniper bought Netscreen. I think the SSG-5's are about $600 a piece new and if you wanted you could find an eBay Netscreen NS5-GT for under $200 now, and make sure you find the "Unlimited User" version.
- VPN - Juniper/Netscreen will do VPN, but you need the Netscreen client software. Alternatively, you could just set up Routing and Remote Access on a Windows server for a simple PPTP VPN to use without any client software. If you wanted to go even more "just make it work", use Hamachi from LogMeIn, works great.
- On Windows Network Load Balancing - This works OK but in some cases does NOT play nicely with Cisco Layer 3 routing (as it relies doing some magic tricks with ARP caching to 'share' a IPv4 address across servers, and Cisco devices view this as an evil force that must be stopped). So if you go the Cisco route make sure you configure the Cisco device correctly for this (there are a bunch of articles on it).
With a Juniper/Netscreen + 5-port gigabit switch you should be able to fit both in 1U and you'll have a simple, fast, and reliable infrastructure that can do some pretty advanced stuff if you ever need it.
Hope that helps!
P.S./edit: - A couple people recommending Vyatta, Linux, etc: Those are not bad solutions, (also, the Untangle.com offering looks like it has potential), and I have used them and love them for office endpoint routers... but I did not recommend this type of solution because this is an application hosting scenario; in principle, the idea behind modular software running on generic hardware is to squeeze all of the normally 'expensive' features you can into the most cost-effective and lowest common denominator hardware. I think this is fine for the user-endpoint (home, office, branch office VPN, etc), but even for small/basic hosting scenarios I think the 'datacenter' side warrants specifically designed hardware coupled with specifically designed firmware.