Mosquitto TLS over WifiMulti on ESP8266
The WiFiMulti has nothing to to with the MQTT and TLS side of things at all.  It only has anything to do with the WiFi.  As such it just replaces the code that directly interfaces with the WiFi.

That is, this code:

WiFi.begin(ssid, password);

while (WiFi.status() != WL_CONNECTED) {
  delay(500);
  Serial.print(".");
}


is replaced by this in the global scope:

ESP8266WiFiMulti wifiMulti;


This in setup():

wifiMulti.addAP("primary-network-name", "pass-to-primary-network");
wifiMulti.addAP("secondary-network-name", "pass-to-secondary-network");
wifiMulti.addAP("tertiary-network-name", "pass-to-tertiary-network");


and this in loop():

wifiMulti.run();


All the MQTT side of things remains exactly the same.