Your schedule is tight.
I would not recommend laying over in Huelva as it is a port city and not very picturesque.
Better to lay over somewhere like Tavira on the Algarve Coast. Its about 3hrs 15mins from Lisbon.
I would concur with the comment about car hire. Inter-Country one way drop-offs between Portugal and Spain cost a fortune.
The only outfit that does it reasonably, (in the off-season only) are these guys:
http://www.iberiacarhire.com/
However, vehicle pickup for spain is currently only available at Faro Airport in the Southern Algarve region of Portugal. However, I think they do packages with another company from Lisbon.