Sun, Do your shopping when you have the time. If you don't feel like shopping w/him, don't do it. The stress of the holidays, his mlc and your foot are way too much for you to deal w/while shopping.
Now, about the Christmas party, does he know about it? If he doesn't, just go. If he asks where you are going, say out w/some friends from the office and leave it at that. I know that I wouldn't want him going w/me, knowing that he could go off the deep end w/the drinking and make an @ss of himself. This is your time to enjoy w/your co-workers and you don't need the mlc drama there.
Go and enjoy yourself and leave the brat at home.
Sit quietly, the answers will reveal themselves when you least expect them to. The past is gone, the present is a gift and you need to focus on today, allow the future to reveal itself when it is ready.