Well, from writing my fanfiction, I've noted something else of interest about Town Portal.
Upon first arriving at Harmondale, I decided to do some experimenting. So, instead of going into the castle, I headed directly to the stables, waited until they offered passage to Pierpont (As that post above shows NPC availability, and that you could find a gate master there.) So, I went there to hire a gate master. Upon finding and hiring one, I had them cast Town Portal...but the only place available to me was Pierpont; even Castle Harmondale wasn't available!
So, I decided to try another experiment: restored back to Emerald Island, went to Harmondale. This time, I went directly to Stone City. Hired a gate master there and...upon casting Town Portal, NOTHING was available!
So, it seems like you have to somehow or other visit the places (Apparently just in the maps, as I NEVER drink from the fountains in any of my games!)in order to activate Town Portal for said area, even if you have a hireling to cast it.
Seems like in MM6, that's not necessary, as you can go anywhere, any time as long as you the ability to cast it. I think in MM8, you have to drink from the specific fountains to activate it. And in MM9, you have to find the Town Portal pedestals and clean them off to activate them.
It's quite interesting what all I've discovered, just from writing a simple short story about the game!