Unless you fly, getting to/from Lisbon is complicated, takes a lot of time and involves buses. I'd leave it out and spend the extra time in Sevilla or any of the other places you list, but if you must go to Lisbon, consider starting or ending your trip there and flying into or out of Lisbon. I know there are flights from Lisbon to Madrid because I've been on one. I don't know about Barcelona or Sevilla.
This is from the Man in Seat 61 on this "Trains Departing from Lisbon" page (http://www.seat61.com/international-trains/trains-from-Lisbon.htm#Lisbon_to_Seville). There is also a section on that page about train travel to/from Madrid, but like I said, I'd fly.
Lisbon to Seville... Note: I assume you can reverse the journey to go from Seville to Lisbon
First take a comfortable modern InterCity train from Lisbon Oriente station to Faro in the Algarve, journey time 3 hours 20 minutes, book online at the Portuguese Railways website www.cp.pt.
Then travel from Faro to Seville by bus, a 3 hour 40 minute trip. Buses run from Faro to Seville at 08:20 & 15:35 daily and from Seville Plaza de Armas back to Faro twice daily at 07:30 & 16:15. The fare is around €16-€18 each way. The bus service is run jointly by Damas & Eva-Bus, www.damas-sa.es & www.eva-bus.com, and there may be additional buses in July & August.
You can book one-way or return journeys from Seville to Faro online at www.movelia.es, or one-way or return journeys starting in Faro at www.rede-expressos.pt.
Another company, www.alsa.es, also has two daily buses Seville-Faro, with online booking in either direction.