If you have an unified dialplan with unique extensions on each location, you can do it without the need to register your phone in the two locations. Think of it like this
Location A
Extensions from 100 to 199
Location B
Extensions from 200 to 299
You can dial any extension from any location, the dialplan in each pbx/location will go through the correct Asterisk machine based on the extension number.
Then you configure one FOP2 server to monitor the other location and configure its buttons accordingly (the normal automatic config will only work for the local server, you will have to work the scripts out to get configs from remote servers, or create a manual config file for buttons on the remote server). The button configuration will need the "Server" line in each button, something like Server=192.168.1.1 or whatever ip you have for each server.
Finally, in the fop2 button configuraiton the only thing you must do is to set the "originatechannel" field to be:
Local/XXX@from-internal/n
where XXX is the extension number.
With this arrange, you can spy on active calls from any of the two servers from your own extension. The spy command will be launched on the correct server, and the originate channel will ring your extension no matter if its on the local or remote server, as it will go through your dialplan and follow its dial rules.
Best regadrs,