Your comment helps and I think a programatic solution can be found. Right now to update Array B you use "Insert Into Array" function, I'm thinking that you should try "Replace Array Subset" function instead and check the results. The premise for this is your statements indicating shifts in indexes stored in Array A as a result of Array B update.
The part I'm yet to understand is the value of the shift. Assuming we have [2,5,8,11,12,...] as index to Array B stored in Array A. During Array B update, values originally in position 2 and above (i.e. 2,3,etc) would be moved one place (i.e. 3,4,etc) and new value will be put in position 2. That means Array A indexes will have to become [...,6,9,12,13,...] in order to be valid. The othe
r scenario is where you don't care what value is in position 2 and you just want to replace it. In this case the "Replace Array Subset" function will be the most appropriate and there will be no shifting.