Hi Mario,
I think that your itinerary is totally doable, you won't see absolutely everything that these cities have to offer, but maybe that's a good thing, as it will give you the incentive to return to the places you want to explore more in depth, you may find you really like Barcelona and decide to spend a couple of weeks in Catalonia on another trip.
Getting from Granada to Madrid, I would first take the bus to Córdoba and then take the AVE high-speed train to Madrid, it will cut your travel time in half than if you just try to bus directly from Granada to Madrid. If you decide to do the bus/AVE train combo, then maybe you want to do that day trip to Córdoba during this time, since you will already be in Córdoba.
As Pat has brought up, you will be traveling in Spain during Semana Santa (April 14 - 21), I would try to embrace the Semana Santa festivities. It will make your travel experience so much deeper and rewarding. The majority of Spain's cities, towns and villages, all have their own processions combining music, art, and color. The most emotional processions will be in Andalucía - Córdoba and Granada have really great ones.
If you are in Madrid during Semana Santa, then I would highly recommend you do a day trip to Cuenca (about 2:45 hr via train). Other than being a really unique place to day trip to, a medieval town that hangs off of a cliff, Cuenca also has some really interesting and impressive Semana Santa processions on the scale of what one would find in Andalucía.
While there may be some slowdown in the cities themselves due to the number of people coming to see these processions, I don’t feel it would interfere too much in the main tourist attractions, although it may take longer to get from point A to point B. My only note would be that Easter Monday is a public holiday in Spain, so the vast majority of shops and restaurants will be closed.