Is there a well known backpackers' overland route between Chennai, Tamil Nadu to Amritsar, Punjab? Touching up on Agra and Varanasi in between, if possible. Preferably by bus and/or trains. I'm up to relaxed sightseeing; spending a couple of days in each of these spots. Please tell me about expected expenses, time duration etc.
The quickest route between Chennai and Amritsar would be to take a train to Delhi - which, depending on the train, would take 1-3 days to reach Delhi, and from Delhi onwards to Amritsar by bus or train. Train tickets are priced according to travel class, class of train, and distance so the costs vary, but you can expect to pay Rs 200-600 for most 'sleeper class' tickets for the legs of journey you need to take.
Agra and Varanasi are both close and easy to reach from Delhi. You could either go from Chennai to Delhi and make that a base for visiting the three cities. More interesting would be to go to Kolkata from Chennai, and then taking a train from Kolkata to Delhi. Most trains on the Kolkata - Delhi routes pass-by Varanasi and Agra, so it would be easy to 'break' your journey along the route.
I would suggest you to take a train/flight to delhi. you will find lot of trains running in this route. Prefer rajdhani as it is faster and comfortable. Train would take 32-40 hours. Then you can take a bus to Amritsar. you can either take a direct bus or change from Chandigarh. There wont be much difference in price. Bus route will take 5-6 hours. Happy Journey :)