1. Yes there is an overnight bus from Cusco to Puno. It's 7 hours. Departs Cusco at 21:30 and arrives Puno at 04:30. There are probably more, but this one came up quickly.http://www.perucuzco.com/imexsotours/bus%2...20itinerary.htm
Puno is a miserable place, so get out towards the lake. Copacabana is a nicer place to stay. Make sure you visit the Island of the Sun.http://www.itisnet.com/english/e-america/e...-copacabana.htm
You are so close you may as well visit La Paz, one of the most fascinating capitals in South America. http://www.boliviaweb.com/cities/lapaz.htm
By all means come back by way of Arequipa and if time permits visit Colca Canyon. See my blog at: http://www.travelpod.com/travel-blog/mmbcr..._2007/tpod.html
Tambopata is accessible by air as a side trip from Cusco, so you can do the basic 2-day, 1 night to get a feeling of the rain forest, but obviously a 3-day, 2-night trip would be preferable. This will cut in on the rest of your trip.
Here's what I would do:
Fri. 1 - Arrive in Cusco. overnight
Sat. 2 - Fly to Pto Maldonado. Take 3-day, 2-night package
Sun. 3 - In the forest
Mon. 4 - Return to Cusco. Take night bus to Puno
Tue. 5 - Continue to Copacabana. Overnight
Wed. 6 - In Copacabana
Thu. 7 - It's about 12 hours from Copacabana to Arequipa. You may have to change buses in Puno. There may not be an overnight service.
Fri. 8. Arequipa. Overnight bus to Lima. About 16 hours.
Sat. 9. Arrive in Lima.
ri. 1 - Arrive in Cusco. overnight bus to Puno
Sat. 2 - Continue to Copacabana. Overnight
Sun. 3 - Visit La Paz. Can be done on a day trip from Copacabana
Mon. 4 - In Copacabana
Tue. 5 - It's about 12 hours from Copacabana to Arequipa. You may have to change buses in Puno. There may not be an overnight service.
Wed. 6 - Arequipa. Colca Canyon is a minimum 2-day, 1-night affair. Depending on transportation from Copacabana to Arequipa, you may be able to squeeze this in.
Thu. 7 - Arequipa.
Fri. 8. Arequipa. Overnight bus to Ica. About 12 hours.
Sat. 9. Fly over Nazca Lines, then bus to Lima. About 5 hours
Hope this helps