The cheap/easy way to accomplish it would be to override the "Defaults to (0,0)" mechanic. At the start of each player's turn you set their default portal location to (0,0) and you reset the feat "Portal_Targeted".
Then you make the spell available to the Archmage be "Open Portal Destination" and it sets the Archmage's current location as the target for the player's default settings (instead of (0,0)) and marks the feat accomplished. If the feat is accomplished, then nobody is allowed to cast "Open Portal Destination" (can only go to one location per turn), but Archmages are capable of casting "Open Portal Source" which creates a portal on the tile. As long as the tile doesn't have a destination set for itself (mechanic would require that tiles default location is (-1, -1) and the location is taken from Player based defaults instead of tile based as it is currently), then the portal opened would take your units to the destination you established earlier. (obviously this would also require that the portal be created for only a single turn)
Nifty thing you could do with this of course is to have a miscast chance assigned to both spells, and if either one is miscast, then it places a destination assignment on the tile (random location on the map is selected). This means if you ever do open a portal there at a future turn, instead of going where you wanted, it takes you to that random tile.
And yes, you can make a pre-existing unit a slave of another unit. I have been toying with the idea of making Domination form a Master/Slave relationship for a while.
Also, I changed nothing about how Obsidian gates would work, base BtS already had a limit for how many airlifts you could perform a turn. And Vehem made it so the Nexus grants you a free single-shot nexus portal, and Obsidian Gate is a tripple-shot portal IIRC. So with both each city can teleport 4 people a turn.