I have used Luzcar over the years. They offer pick up at Faro Airport.
Their prices are a bit higher than others but are all inclusive, including second driver and nipping over the border to Spain. They do look after their clients.
See: http://www.lagoscarhire.com/
Another company with a good reputation is Auto-Jardim.
See:
http://www.autocarhire.net/