Sign up for the Marriott Rewards Premier Visa to get 50,000 points. This is enough for up to a 6 night stay (or 1 night at a category 8 hotel). On top of that you'll get 1 night free every year.
Annual fee waived for 1st year, $85 after that.
The cost of the stays this card gives for free is far more than the $85 annual fee (most hotels are more than that for a single night). You also accumulate 5 points for every $1 spent with Marriott and 2 points/$1 on dining, airlines, and car rentals.
Link to Pricing & Terms: https://www.firstusa.com/cgi-bin/webcgi/webserve.cgi?AFFID=RvEiSnI7NyY-2xPCLsOxrMZynN0FzqCPHw&card=DJJL&CELL=6H8X&page_type=appterms&pvid=C5B1L3BR2S34225-2011-11-01-10-50-p-82359