To answer your second question first...as along as you are outside of the cancellation period, which for a package is 45 days, canceling for a full refund is quite easy. All you have to do is call and cancel.
Your first question is a little more nuanced.
First and foremost, booking in advance does nothing to help you re-book the same room if a promotion comes out. If anything, it reduces the chance that any promotion that does come out will include the resort you booked.
Promotions are released based on booking rates. When a resort falls below those booking rates they put the rooms on sale via a promotion. If they are meeting or exceeding their booking rates then they do not. Therefore, booking a room in advance helps them to make their booking rates and can theoretically exclude your resort from any promotions that are released.
Once a promotion does come out it is easy to re-book, all you have to do is call, but as mentioned before, having that room already booked will in no way help you to get it again.
The advice I would give clients doing what you are doing it to book what you can afford at rack rates. If a promotion does come out for your travel dates you can use the savings to upgrade your resort or simply pocket the cash.