The gift cards do not have an expiration date. They have a date on the back and after that date the card will become inactive, but all you have to do is call and have Marriott reactivate it. You won't ever lose the money on the card.
On my cards the expiration date is quite a ways out, so I doubt I'll even have to call and reactivate any of them.