I have just got back to Lagos in the Algarve, from a trip to Sevilla and Algeciras and can comment as follows:
1) There are several ferry services operating several times a day between Algeciras and Morocco.
See this page for links.
http://tarifa.costasur.com/en/ferry-to-morocco.html
2) TRANSPORTES GENERALES COMES operate a regular Seville to Algeciras Bus Service four times per day.
Timetable is here:
http://www.tgcomes.es/horarios_33.htm
3) Using the information shown on Cubsur's site, you should be able to get from Lisbon or the Algarve to Seville and easily connect to the above service.
Be aware that Algeciras is a real port town and not exactly salubrious. There are not many hotels nor hostels and those that are not exactly new nor welcoming.
We stayed at the Hotel Alboran Algeciras which is a bit out of town and cost Euro 70+ per night for a double room. It was clean and pleasant though.
If you have to stay en-route, I recommend overnighting in Seville.