I can't really think of any good benefits to rendering this way, honestly. You add an extra layer of indirection and therefore slow your shader down with more memory reads. In return what do you get? I suppose you can save some vertex buffer storage by deduplicating positions, normals, UVs etc. separately. But I doubt that saves a significant amount of memory in real-world scenarios, and I doubt it's worth the extra complexity and slowness.
Using multiple vertex streams can certainly be useful, e.g. for instancing, or for efficiency in different rendering passes (e.g. shadow map pass needs only positions, so you might keep the positions in a separate stream from everything else, improving cache hit rates for the shadow map pass). But I can't think of anything very interesting to do with multi-index rendering.