Yes this is effectivelly the idea.
If you create website with cities subdomain and that you also create a generic website, you can redirect the website automatically on the cities website based on the IP address.
You can setup a slave like this:
city.domain.com,
www.domain.com
With Geolocalisation = city
Plus redirect on first domain.
So that if somebody goes on
www.domain.com from the "city", it will be autoamatically redirected on "city.domain.com"
You have 3 choices for the geo-localisation data.
1 free (MaxMind DB)
2 possible billable services (MaxMind and Quova). This is a webservie. That mean that JMS post a requestion on their websites to get the answer concerning the geo-localisation. For that, you need to buy their license.