You're looking for something called "High Availability" along with I suppose what would be considered a "Load Balancing" scheme (I forget the actual term for it atm). Such setups are typically quite expensive.
You could however, potentially setup a script that determines the user's location (either by their selection or an automated process) and then re-directs them to one of the other servers.
You'd probably have to setup subdomains for each server (ie. us.mydomain.com, ca.mydomain.com, etc), and you'd still require a central server to serve the initial page, but it's a way around spending a lot more money than most people can afford for an HA setup.
There may be some companies out there that offer High Availability services, but again, I imagine those would be extremely expensive as the entire process is a bit complex.
A google search like this returns some interesting results you might consider reading up on.
Chips N Cheese - Custom PHP installs and the like!