You'll need to consider getting the Marriott Visa Premier credit card. it gives you three points for every Marriott dollar spent. And one point for purchases made anywhere else.
If you stay a lot and make platinum that gives you a 50% bonus on points.
Also take advantage of the Marriott Mega Bonus offers, including the one that gives you an additional 50,000 points.
If you look at Marriott.com, Marriott rewards, ans earning points there's a good summary of how to earn.
To earn a million points would cost you (assuming you had none of the above) $100,000! With the Silver, Gold and Platinum Elite bonus for stays, it drops, and with the credit card it drops even further. Take advantage of all these added bonuses and some day you'll be there.