1.) Most importantly, what internet connection speed do I need? Would 200Mbit/s be enough to start with? At a very high level, how much bandwidth is needed for an average mining rig? Important note: my city is mostly Ethereum and alt-coin miners since Bitcoin ASICs are extremely expensive and hard to come by, hence mining rigs are GPU based.
200Mb downstream is fine, but you'll also want good upstream as well, especially if you'll let people remote into their machines.
2.) What special networking hardware is needed? A typical router only has 4 ethernet ports, would setting up extra ethernet switches that connect to that same router do the job or would I need to get industrial 20-40 port routers?
Since you're running this as a data center, you want to make sure that users are siloed off. That means you need a good router and networking equipment that lets segment off sections of the network. Don't cheap out here, as if you do, you could risk people seeing the setup and config of other people's networks.
3.) The miners I've talked to don't know anything about remote access since they currently mine at home, but I'd like to give my clients the most control and best service I can, and for security reasons I want to restrict access to the space as much as possible (only for moving in, moving out, or upgrading). I've seen Team Viewer mentioned here as a good solution that is also free, and I've played around with Parsec as well. Is there a better solution that I'm missing? Should I just tell everyone to setup Team Viewer accounts? Does that software require extra network features like Static IP?
If it were me, I'd segment off each hosted customer's network at the switch/router level. I'd then give them a personal VPN account that could only access their IP addresses. This way, they can VPN in and mess with their settings through SSH, AwesomeMiner, cgminer APIs, whatever as if the machines were in their home, but they couldn't access other customers.