Vertex Indices change after using Subsurf Modifier
Vertex indices are not meant to be used to reference the actual vertex. They are an internal position in a list, not some property of the verte itself. For instance if you apply the bevel modifier, how would you expect the indices to go? All of them have moved.

If you want to access the location of the original vertices, you could store a copy of the mesh. (not necessarily assigned to an object either) If you want to find the new vertices that map to the old ones, the only way I can think of is to iterate through the new objects vertices, find the closest old-mesh vertices, and threshold so only if they are very close does it count them as the same.