Haven't been to Seville and Madrid, so I can't advise re: those cities.
But, last year March we were in Spain (and surprisingly, the weather was great...a little chilly, but sure beats heat of the summer).
I think it was Enric who had actually recommended to us that we stay longer in Barcelona (we were originally only planning two nights...The Sagrada Familia was the huge draw for my spouse). But, due to an ice storm in Nashville, we actually left two days early, so we wound up having 4 nights in Barcelona, and I was glad to have those extra two nights. There really is a lot to do and see in Barcelona.
Since you like food/drink, etc., consider taking the Food Lovers Tapas Tour. You can check out their web site and also reviews on www.tripadvisor.com It was a fun way to experience three different food venues that we probably would never have found on our own, and it was a fun small group with which to enjoy the evening. The guide explained the foods/traditions, etc. we enjoyed. And, the last stop is an entire, huge dinner. You will not go away hungry!!!! All drinks are included, too.
Two nights are perfect for Granada. If you are such that you can quality for a senior discount (which I think starts at age 50 or 55), consider staying at the Parador, which offers special discounts. When we first booked, the senior discount was not available, but we kept checking the web site and once it was available, they applied the super savings to our reservation. Our French-baloncy style room overlooked the lovely Generalife Gardens..........incredible!! But, there are also great places to stay in the actual city of Granada, too.
If you need a driver, Emily of South Ole Spain Tours (check out reviews on TripAdvisor) was wonderful. They also do group tours and individual guided tours.
Be sure to book your Alhambra tickets early. Ditto for La Sagrada Familia.
We really enjoyed Spain.