I would take the ferry from Tarifa directly into Tangier town. You can go by bus from Malaga to Algeciras and buy your ferry tickets in the port terminal. Then you can get the free bus (takes half an hour) from Algeciras to Tarifa (both FRS and Comarit do the free bus service) and take the fast ferry to Tangier. Alternatively, you could get a ferry from Algeciras, but since the ferries from Algeciras only go to Tangier Med port, this would entail getting the shuttle bus from Tangier Med port into Tangier town - about an hour away.
My own personal choice for accommodation would be one of the B & B's in the medina/kasbah area (see TA list) such as Maison Arabesque or La Tangerina. Of course there are also many hotels along the seafront. I don't know what kind of budget you have in mind.
-:- Message from TripAdvisor staff -:-
This topic has been closed to new posts due to inactivity. We hope you'll join the conversation by posting to an open topic or starting a new one.
To review the TripAdvisor Forums Posting Guidelines, please follow this link: http://www.tripadvisor.com/pages/forums_posting_guidelines.html
We remove posts that do not follow our posting guidelines, and we reserve the right to remove any post for any reason.