I think that you will find it difficult to rent a villa for only three nights.
Most private renters and agents only rent for a minimum of 7 nights owing to the fact that:
1) Most customers want to rent for a minimum of 7 days and therefore schedules are tied to this.
2) Valeting and cleaning costs here only make it economic to rent for a minimum of 5 to 7 days.
As regards apartments one could have a look at the following sites:
www.docemaralgarve.com/graciosa.htm (note: car would be needed for this one)
www.holidayslagos.com
www.marinaclub.pt