The quickest and easiest method from Barcelona to Madrid is the AVE high speed train, which travels at up to 300 kmH. Check the RENFE website for details. It's a very pleasant trip and you'll be able to relax and enjoy the scenery. Your departure station will be Barcelona Sants and arrival station will be Madrid Puerta de Atocha. You should be able to buy your tickets online.
From Madrid to Lisbon, I'd probably use an EasyJet flight as that will be the quickest and most efficient. Flight time is about 1H:20M, but some airline schedules may indicate a 20-minute flight (I believe there's a one hour time difference between Madrid and Lisbon). They currently have flights in mid-January listed at ~€35 PP, but those will increase as the flight fills.
If you decide to book a flight, be sure to read their Terms & Conditions carefully, especially related to luggage weights. Note that they usually only allow ONE carry-on item per passenger, and they DO enforce that. If your checked bag will be over their allowable weight limit, it's cheaper to pay for the excess weight at the time of booking rather than at the gate. As I recall, you can check-in for your flight and print out your boarding pass at home up to a month prior to the flight. At many airports they only have a bag drop, so there's no longer any airport check-in.