Help addressing single dial plan for multiple servers

What I’m asking for is help with how others may have dealt with the following in one dialplan. Currently SiteA and SiteB each have sip termination and receive 50/50 split of call traffic. But only one site is the active call center and has agents. So one site uses an internal trunk across VPLS to pass the calls from B to A. I want to make the configs uniform so I can quickly go the other direction.

Here is how I am setup today…

; Asterisk A - calls that arrive at A stay at A use goto
[incoming]
exten => 8553216543,Goto(extensions,4000,1)
exten => 8557891324,Goto(extensions,4001,1)
exten => 8774561424,Goto(extensions,4002,1)

[extension]
exten => 4000,1,Queue(Client1)
exten => 4001,2,Queue(Client2)
exten => 4002,3,Queue(Client3)

; Asterisk B - calls that arrive at B must go to A using dial across inter site trunk over VPLS
[incoming]
exten => 8553216543,Dial(SIP/AsteriskA/4000)
exten => 8557891324,Dial(SIP/AsteriskA/4001)
exten => 8774561424,Dial(SIP/AsteriskA/4002)

I want to know if others would recommend or how they address getting around using Goto on the local and Dial on the remote. Can you for example trunk to yourself to get to something like…

; Asterisk A - now uses Dial to map incoming calls to global variable (trunk to self)
[general]
ACTIVESITE=SIP/AsteriskA

[incoming]
exten => 8553216543,Dial(${ACTIVESITE}/4000)
exten => 8557891324,Dial(${ACTIVESITE}/4001)
exten => 8774561424,Dial(${ACTIVESITE}/4002)

[extension]
exten => 4000,1,Queue(Client1)
exten => 4001,2,Queue(Client2)
exten => 4002,3,Queue(Client3)

; Asterisk B - uses Dial to map incoming calls to global variable (trunk to remote)
[general]
ACTIVESITE=SIP/AsteriskA

[incoming]
exten => 8553216543,Dial(${ACTIVESITE}/4000)
exten => 8557891324,Dial(${ACTIVESITE}/4001)
exten => 8774561424,Dial(${ACTIVESITE}/4002)

[extension]
exten => 4000,1,Queue(Client1)
exten => 4001,2,Queue(Client2)
exten => 4002,3,Queue(Client3)

; then flipping to the alternate as the active is simply doing this on each machine?
CLI> core set global ACTIVESITE=SIP/AsteriskB