1) Ferry - No.
There are no regular ferry or passenger maritime services running from the Algarve along the Spanish Med Coast.
2) Rail - Possible
There is no direct rail link from the Algarve into Spain. One would have first go to Lisbon, then Madrid and then Malaga, then Fuengirola and then take a bus or taxi from there to Marbella.
3) Coach
There are twice daily direct coach services from Albufeira to Seville. See the following sites for more information:
www.algarvebus.info
www.solpraiaferias.com/index.php?content=cheg_en
From Seville you can get buses to Marbella direct.
See the following posting by CadizLover on the Tripadvisor forums last year:
"There is a bus service from Marbella via Ronda that proceeds to Seville. Leaves daily at 9am (Portillo bus) and 4pm (Los Amarillos bus) . At least by taking the bus you can stay on one form of public transport and also see the more hilly parts of Andalucia ! Of course some of the roads especially the one leading up to Ronda, are winding. The bus takes about 1 hour and a half to get to Ronda, then about 2 hours to get from Ronda to Seville. Cost is €15 one way.
The two companies that advertise the route are PORTILLO bus company and LOS AMARILLOS bus company.
You can see the details at:
http://www.ctsa-portillo.com/ima/pdf/marbella.pdf
and
http://www.losamarillos.es/
Taking the bus to Malaga bus station then another bus or train from Malaga to Seville is certainly an option if you want to avoid "them thar hills". "
4) Air
From Albufeira taxi or shuttle to Faro Airport.
You could then take the daily low-cost Ryanair (www.ryanair.com) flight from Faro to Madrid. Then a low-cost flight to Malaga and then local train to Fuengirola and then take a bus or taxi from there to Marbella.
This last would probably be the most efficient although you probably would get in quite late.
The Ryanair flight leaves Faro at:13:35 arriving Madrid Barajas at 15:55.
Spanair (www.spanair.com or www.spanair.es) then has (at present) a flight at 17:40 from Madrid arriving Malaga at 18:45
There are trains then to Feungirola every thirty minutes at 44 and 14 past the hour until 22:44. Transit time 35 minutes. From there a taxi.
Alternatively there is a direct coach service from Málaga airport to Marbella bus station, every 45 minutes.
The first bus start at 06.15 and the last one at 23.00
See the following Malaga Airport page for more info.
http://www.aena.es/csee/Satellite?cid=1048858947329&pagename=Estandar%2FPage%2FAeropuerto&SMO=1&SiteName=AGP&p=1048858947201&c=Page&MO=1
The folowing site may be also of interest:
http://barlaventostravelblog.blogspot.com/