Yep, that is all correct. The purpose of the "for each" is for the situation multiple objects were clicked on at the same time.
It does not matter if the shadow of another sprite is destroyed. The shadow is paired in the "every tick" event.
For example if you have four sprite instances:
Sprite1, Sprite2, Sprite3, Sprite4
And four shadow instances:
shadow1, shadow2, shadow3, shadow4
Then they will be paired Sprite1:shadow1, Sprite2:shadow2, ... etc.
If Sprite3 is clicked on and destroyed and the first shadow instance is destroyed.
Then the instances will look like this:
Sprite1, Sprite2, Sprite4
shadow2, shadow3, shadow4
Which will still work fine even though different instances will be paired together. The effect is purely for a visual effect so it does not matter if the the same instances are paired together.
If you want the same instances to be paired together then you would need to use the UID method.