Simply said, there is no way to index individual attributes of a vertex. The use of an element/index buffer applies to sharing a permutation of attributes e.g. position, uv. Since one of the attributes cannot be shared, neither can the other attributes. A simple solution to that problem, is duplicating the required information to construct a new permuation (with a different uv-coordinate).
Effectively what you need to have support for, are multiple element/index buffers, one for each attribute: element/index buffer for normal attributes, element/index buffer for uv attributes, element/index buffer for positional attributes. But in the current generations of either OpenGL (3 or 4) or DirectX (11) (and presumably on a hardware level itself) this simply does not exists.