The information below is summarized from one of Ian McAnerin's panel discussion this week at SES Latino in Miami.
Note: Geo location is based on pages, not URLs.
How search engines determine your web site/business' location has changed a bit in the last year. A year ago both MSN and Yahoo would look at the location of IP address that your site was hosted on, and the geo location of where your inbound links were coming from. Now both MSN and Yahoo have followed step with Google's methodology.
The first step that now determines where the major search engines think you are from is the ccTLD (country code top level domain). So if your web site is a .mx your are from Mexico, if your site is .com.au your are from Australia,…
If you are using a ccTLD then it doesn't matter the geo location of your IP or where your inbound links are coming from.
If you are using a gTLD (general top level domain, i.e. .com, .net, .edu, .org) and not a ccTLD then the major search engines will examine the geo location of your IP and examine where your inbound links are coming from to determine your location.
So if your main site is a gTLD and your are using a 301 redirect of a ccTLD to you gTLD then the major search engines will eventually (likely a period of a few months) use the redirected ccTLD to determine your location. The tricky part happens when you are redirecting many ccTLDs to your gTLD. If this is the case then they will likely return to check the IP of your hosting and where your inbound links come from to determine your location.
Use separate web sites for different countries and use their unique ccTLDs.
If you have different languages (not country specific content) then uses different sub domains
When you have different topics use separate sub directory folders.