Can my iPhone search for Wi-Fi only when in a specific location? Searching for Wi-Fi uses battery, and it's annoying when the "Choose Network" dialogue box pops up when an iPhone is Wi-Fi enabled, but I don't have any desire to connect to a network.

Is there any built-in function or iPhone (I have a 4S) app that enables Wi-Fi ONLY when the phone is in a certain location -- say "home"?

This seems fairly basic enough, as the phone always knows where I am, and accurately when Location Services are activated. Any help?
No, there is no way to do this.

Also, wifi is only searched for when you actually go to use your phone. It won't search for wifi networks constantly while the phone is in your pocket. Your iPhone is very good at managing its own battery usage. Checking what SSIDs exist is very battery efficient.

Lastly, you can turn off that annoying prompt that comes up whenever networks are discovered. It'll still automatically connect to wifi networks that you trust, but that dialog will never appear.