How to mix destructive and non-destructive modifiers to maintain vertex order for mesh-cache? Say I have an instanced model (duplicated with alt+D) and I add a meshcache modifier with a .mdd or .pc2 file loading a different version of the model. Will this break the instancing and cause it to count as a different model for memory usage in rendering?

How about different shapekeys on instanced models?

How about modifiers that actually change the number of verts, like boolean or solidify?
Duplicating mesh data won't change its vertex order, so to answer your first question - yes this is supported.

As for destructive modifiers (boolean, decimate, build... etc). These will change vertex count and order, not for the mesh-datablock, only within the modifier stack.
So destructive modifiers must be applied after Mesh-Cache modifier, for this to work as expected.