Pajamas, of course! No, not the kind you sleep in at home. But a traditional kurta-pajama set is just the thing . . . perfectly comfortable, yet acceptable street wear. The men’s version is just that, kurta-pajama without much variation except in the fabric. A kurta is just a long, Indian-style shirt, worn untucked, while pajama pants are loose, straight-legged, cotton drawstring pants. For women, there are many varieties of traditional suits. Besides the kurta-pajama, you could wear a kameez or kurta or anarkali dress over a salwar (baggy pants banded at the bottom), even baggier Patiala pants, wide-leg pants (which are fashionable in some places right now), or churidhars, which are tight and bunched at the ankle, but probably less comfortable for sleeping. Cotton suits that are loose and not embellished with beads, sequins, etc. are ideal.
Indian trains can be really cold in the winter, especially at night, though the A/C can be too much even when it’s pretty hot out, so you’ll probably want to bring something to wrap up in. While blankets are provided in 1st and 2nd A/C (not that they are particularly nice), you don’t automatically get them for 3rd A/C or sleeper class.