If you don't have any accommodations for Semana Santa yet, you'll be lucky if you find anything...and anything you do find will be priced astronomically.
In a pinch, try Accor hotels' Ibis or Etap chains...modest but clean and modern accommodations, and relatively inexpensive. There is an Ibis in Granada, and one in Sevilla. You may choke at 190 Euro/night for a chain hotel in Sevilla....but, over the easter weekend, that's a pretty good deal.
You won't make it from Granada to Tangiers in a day. Spend the night in Tarifa, do the day trip to Tangiers, then head for Sevilla that night. Bus is your best bet.,..one of the 20 or so buses/day to Malaga (2 hours), then one of the 15 or so buses/day to Algeciras (1:45, 2:00, or 3:00 hrs, depending on which one you catch), then one of the local runs over to Tarifa. You can find the Granada-Malaga schedules here.....the Malaga-Algeciras schedules here.
The easiest way to get from Tarifa to Sevilla is to take one of about 6 daily buses to Cadiz (about 90 minutes...see the first bus link above), then the train to Sevilla (less than two hours). If you DO decide on that route, BOOK TRAIN TICKETS ASAP. RENFE's website is mostly in Spanish, but it's not difficult to follow and you can print your tickets at home.
You will find that the journey to Tangiers via Tarifa, then on to Sevilla will take at least two, and possibly three days. You may want to consider subtracting it this trip, and adding more time elsewhere.....perhaps a day stop in Cordoba on your way back from Sevilla to Madrid.