Sorry I’m late getting back to the party. 
Well, I’m not 100% sure on how your seek list is set up (if you change it based on where they are at), but here’s a very basic way to make sure your clients at least do a relay select when they move locations (based on when there IP changes). This works well when they come onto VPN, because they get an additional IP. then they go off, IPs change, New site… you get the idea.
Relevance:
(
(not exists setting "_NetSignature" of client
OR
/* check to see if NetSignature matches the current IP addresses */
value of setting "_NetSignature" of client as string != unique value of concatenations ";" of (it as string) whose(it != "127.0.0.1" and it does not start with "169.") of addresses of ip interfaces of network)
)
Then for the action script:
// Force client to send update to relay
relay select
// ***************************************************************************
// tattoo the settings with the Network Signature
// ***************************************************************************
setting "_NetSignature"="{unique value of concatenations ";" of (it as string) whose(it != "127.0.0.1" and it does not start with "169.") of addresses of ip interfaces of network as string}" on "{now}" for client
…then set that as a policy action to re-apply when it becomes relevant again.
Again, that’s only based on if you only set the _BESClient_Register_Affiliation_SeekList as static. There are other examples on how you can force this kind of action if other properties (like AD site in my example fixlet above) change.