Vertex position/color change using shader

you can access vertexid,

or you could add some data to those vertices that need to be moved,
like using vertex color, so if v.color.r>0 then move it

and actually you could encode your movement data there already, instead of using textures.

you have these attributes there,
like color, normal, uv… and then can access those values in shader.