ok so we have 3 methods:
1 - save original pos, move all points(match by id), group match ones that are in 0,0,0, move them back to original pos
2 - introduce edit attribute "edit", make a "dinamic group"(?) based on it, match by id, move only those points
3 - create group with python expression on original points by matching "id", transfer pos to only those points
results:
1- while fast its sort of risky coz you could have a point(s) that is originally @0,0,0 and was edited, and it makes group with expression
2- makes group dynamically, moves only necessary points, no need to store original pos
3- python expressions for groups are slooow
eval time of 100 animated frames(for pos transfer only):
1- 9.447s
2- 9.518s
3- 22min 6.56s
i would go with v2