We want to restrict traffic through a switch to 90% of our total inbound bandwidth in order to reserve the other 10% for another switch running a different internal network. Can this be done without affecting the speed of internal traffic between users below that switch?
Yes it can be done.. but depends on the switch. IE. Cisco models can do it, HP can do it, but a basic nonmanaged switch cannot do it. Most "smart" switches can't do it either, ie. anything that has a web gui but no telnet CLI mode.
Ideally, you would connect both switches together and run different VLANs and set policies that way instead of 2 separate physical networks. It's harder to manage with separate switches, as they can't tell what the other is doing and you can't manage them.
If you have unmanaged switches, you might be able to set QoS/bandwidth limit policies on your router above the switches for each port or ip subnet.
This is a one of the "yes it can be done, depending on what existing equipment you have" questions.
If you have a basic home router and 2 basic consumer switches then no.
If you have soho equipment then yes but might take some playing to get it how you want. If you have "enterprise-ish" equipment like hp/cisco/juniper very easy to do.