My parents have a second home in Williams, AZ about 45 minutes from the canyon, so I know the area well. I would call Flagstaff more like 1.5 hours from the canyon and Sedona close to 3 hours if you want to be realistic. My recommendation if you must have a Marriott would be Flagstaff, but Williams is a great choice with a lot of hotels to choose from. There is town outside of the canyon about 10 minutes called Tusuyan that has some nice lodging. The canyon itself has the most convenient lodging but also the most expensive. Check out the Grand Canyon forum on Tripadivsor for more detailed experiences and advice.
Best of luck to a great destinatination!
Janna