Is there a Trading API that spans multiple independent sites, preferably from open source websites? To experiment a little with automatic trading I'm looking for a trading api (like mtgox has) which is used on multiple independent websites so that if one goes under that I then don't have to redo my whole program. If possible one from open source bitcoin trading websites so that I can setup one in a vm and use that to test against.

I'm currently running my tests against Mt.Gox but that can be a bit expensive when the script doesn't perform too well.
The Java XChange library could help

It might not be exactly what you're after, but the XChange project provides a demonstration of a general purpose API for communicating with multiple exchanges. 

You could repurpose the code to create your own mock trading endpoints and run up a collection of virtual hosts. In this manner you can test against a reasonably well known set of APIs for the usual failure modes.