Diffuse light shader with indexed primitives

You realize If you were to do this you wouldn’t be able to use vertice lighting properly.
I believe the only use i could see for this is flat shaded polygons.

Either way in this case why pass a normal at all…Compute it in a (vertex) shader.
Though depending on your case that might not be a option.

To save memory

Is this a real problem that you are actually running out of memory on your card ?