Is there a way to tell my phone to prefer some SSIDs above others?
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.)