It's not possible to do what you want, the mobile phone system doesn't work that way.
That is where the experimental Google Geofencing stuff comes in; it tries to make location determination more accurate by (probably, that's part of the experimental stuff) including the WiFi hotspot information that G' gathered 'by accident' using the Streetview recordings, and connection accesspoint detection when using G' applications.
You are correct in that you have to go to the actual location to activate any 'detection'. There is no global database available
where Cell ID, location and range is stored, and the data is also quite dynamic, as base stations seem to be relocated or replaced from time to time, most likely based on technical triggers (I can only assume). Most likely there is data about these Cell Phone basestations, but not publicly available and per provider only.
: Did you already try the suggestions JoTo gave about Tasker and AutoLocation? Yes, it's not free but quite affordable (as most payed Android apps), and if it works you'll end up buying them anyway