Is there a way to tell my phone to prefer some SSIDs above others? Use case: my internet provider offers wi-fi hotspots all over the country; I like to connect to them, but not when I'm home or at work. My phone seems to use one of the available wi-fi connections randomly; I end up 'forgetting' the provider's hotspot to assure connection to the wi-fi at home or at the office.

Windows 7 allows me to change the order of preference of wi-fi connections; that way I can tell my laptop to connect to my provider's hotspot only when no 'better' wi-fi is available. 

Does Android have something similar?
I don't believe there is anything built-in for this, although some manufacturers may have added such a feature.  There appear to be several apps that will do this.

I've always just manually edited /data/misc/wifi/wpa_supplicant.conf myself (root required).  (Note that there are different files/locations for different devices.)