Obviously high availability is the number one concern for web hosting, is it worth buying a couple of cheap switches and having one as a cold spare?
How will that buy you high availability? Will you drive to your co-lo to replace it if it fails? You'll network infrastructure between your servers will be down the entire time. On the other hand, you'll buy yourself all kinds of other issues due to not using decent equipment. Right idea here, just the wrong implementation.
I would like the ability to firewall most ports except for the standard 80,443 and 3389.
As @Dennis Kaarsemaker noted - switches are not firewalls although many enterprise grade switches have the ability to do basic Layer-3/Layer-4 filtering using ACLs. Again, depending on your specific needs this may be sufficient. If you have complex requirements for your firewall you will want to buy dedicated devices for that purpose.
Would it be preferable just to go for an enterprise grade switch?
Yes. Professionals use professional gear. You will want to buy at least two of what are called "managed" switches (see What should I pay attention to when I'm buying a network switch? for an overview.). You haven't mentioned any benchmarks on what kind of network traffic you measured between your servers, how much bandwidth they will need, whether or not the protocols you are using are latency sensitive and what your plans are for expansion. Accordingly, you might want to consider switches that are modular so you can support many different Layer-1 technologies and with a robust enough backplane if it turns out you need 10Gb speeds. Again, without having done any benchmarks you could easily overbuild your solution or just as likely underbuild it and end up buying new infrastructure again shortly.
You will probably want configure Spanning-Tree Protocol and Port Channels/LACP so that you can run both switches in "parallel", preferably with each switch on its own power. Each line represents multiple network connections that are bundled together to ensure redundancy.