Car rental - check economycarrentals and other 3rd party providers for cheap non-brand-name providers. There are many in Portugal. Just make sure that the ratings are good - there are some questionable ones that do excessive control of scratches, etc.
No easy way to avoid the cross-border car rental fees, other than what you mentioned above. There's a site that does one-way car rentals (usually must be done within 24-48h) and sometimes they have cross-border rentals, but these are last-minute
https://driiveme.pt/