What you need to remember is you are trying to sync a non motion command with an executed command that hasn't been completed yet.
When I say not completed, I mean the tcp hasn't reached the point of coincidence. (the taught position plus accuracy if any).
So in most cases you just set the variable or a signal based on the point of coincidence to ensure CP motion is maintained:
ACCURACY 10 ALWAYS
JMOVE p1
curr_pos=1
JMOVE p2
curr_pos=2
But if you wanted to have a different accuracy around a specific point then:
ACCURACY 10
JMOVE p1
curr_pos=1
ACCURACY 50
JMOVE p2
curr_pos=2
I must ask (people seem reluctant to explain) why you are doing it this way, it so overcomplicates a program and creates a window of potential collisions if steps get jumped by 'wandering fingers'.