You need to research geo-ip redirect. There are some plugins available or you can do it yourself using php. From my own research maxmind seems to be the most accurate system, but it is not easy to implement. I think there are some paid plugins that utilise maxmind's data, but i've not tried any of them.
But as Nick said, getting the data and implementing it the way you want would be a pretty custom deal.
If you just want to redirect to a page based on a user's input rather than obtaining their location via geo-ip, then maybe you could look at building a gravity form and set up a redirect based on the form entry - still a custom deal though.