What kind of shopping do you want to do? If you want the generic shopping mall experience, you could take the free shuttle to the Richmond ("airport") Marriott or Hilton (they're twin hotels). It's about a block to Richmond Centre mall there, and a little bit further to Lansdowne mall. The airport Radisson shuttle puts you very near/adjacent to a couple of malls catering to east asiatic folk (demographically, Richmond is majority chinese). Much less exotic, the airport Hampton Inn shuttle drops you close to a Costco.
As for downtown, much cheaper than taxi is the [url=http://www.yvrairporter.com/]yvrairporter bus[url] at C$18 r/t. You can go cheaper by taking public transit which is C$3.25 each way (C$2.25 offpeak) though it involves a change of bus.
If you are checked in for your onward flight, you'd only really need to be back 1 hour before flight time.