Toby's right....with only 8 days on the ground, travelling around like that will mean you'll spend too much of your time on the move. Tangiers is an interesting side trip, but not worth a quarter of your valuable vacation time....save it for another tripm, because you will be back!
I love Sevilla...but I was there once during the Feria and, while it was an interesting spectacle, I wouldn't go back anytime soon. The entire city is jammed, and hotel rates double and triple....if you can find anything left....unless Liz has a spare bed ;) While you'll see lots of colourful traditional costumes, the main purpose seems to be staying up very late eating and drinking at one of the hundreds of casetas on the fair grounds, then trying to make it into work the next day. Semana Santa, while just as crowded, is a far more interesting spectacle. Leave Sevilla until your next visit, too.
Granada is definitely not a hill town....it's a big, bustling city. But, as Toby notes, it's home to the Alhambra, the most popular tourist spot in Spain...a definite must to get an idea as to the Moorish influence on Spanish life.
A better bet for a hill town, on your limited schedule, would be Ronda....home of the original bullfight, or so they claim. Wonderful natural surroundings.
If I may be so bold, I would suggest two full days (3 nights) in Madrid, then an early morning high-speed AVE train to Malaga (about 2.5 to 3 hours) then a bus from Malaga to Ronda (about 2:45...the bus station is right next to the train station....buses leave, on the current schedule, at 10am, and 1 and 8 pm). Spend two nights in Ronda, then take the train to Granada (departures roughly at 9 am, 215 and 535 pm...takes 2.5 hrs.) Spend 2 nights there, then head back to Madrid by train or bus (about the same travel time...5 hours, but buses more frequent, and far cheaper.) That should give you one last night in Madrid before leaving.
Some websites of interest to follow....