Hotels in Barcelona:
First, DO NOT book them thru
DCL. While US hotels give Disney a discount, the European hotels seem to charge Disney their normal rate and then DCL adds their surcharge. In all cases, you could book the hotel cheaper on your own than thru Disney just by going to the hotel's website.
Point 2--the taxi rates in Barcelona are quite confusing. There is a base rate. Then there is a Saturday/Sunday surcharge. And a surcharge for travel to either the cruise port or the airport. We were quite surprised to find that what we were told would be "about 7 Euros" for a ride came to 25 Euros and would have been higher if I had not INSISTED that the driver let us out "right here" at the airport. There was a huge traffic jam, and the driver wanted to sit in it while the meter rolled. Since I'd been there before, I KNEW which side of the airport I wanted, and it was where we already were.
OK, I got our hotels on Priceline in the airport area. One time we were at the Tryp and the other at the Hesperia Tower. Both were VERY nice. Both advertise a free shuttle to/from the airport, however the shuttle from the Hesperia doesn't start till 7 am so if you have an early flight you'll be using an overpriced cab. Also, there is NOTHING near the Hesperia except a metro station; I mean nothing. No restaurants, etc. except in the hotel. The Tryp was far easier--it is right on 3 bus lines and 2 metro lines. The Tryp was a 4*, the Hesperia was a 5* I paid $75 (USD) each time. However, I later found another site where I could have paid $79 at the Hesperia and had a breakfast for 2 included.
Other alternatives--La Rambla area. There are lots of hotels here; you will need to take a taxi to the airport. This is the area where you will have easy access to all the things to see and do in Barcelona. The hotels nearest to the port are VERY nice also, but very costly.
I never found any public transportation from La Rambla or port area to the airport. Either the hotels provided something or you were at the mercy of the cabs. However, except for getting to the ship terminal or the airport, the public transportation system is very good and very easy.
Another point--most hotel rooms are for 2 people ONLY. No "kids free" as in the US. In fact, in most cases you'll have to either get a "family suite" or an additional room if you have more than 2 people. Some of the very upscale places will allow a roll away bed for a child.