The farther, and cheaper, option is Bangkok. A flight would cost more and you might end up having to change planes in Dubai on your way, but once you get there you can find nice hotels starting around US$25 per night, although paying more for a better place is probably worth it. The whole central area of Bangkok around what is called Siam Square is surrounded by about 15 or 20 large shopping malls, many of which focus on clothing. It’s mostly chain stores and prices are good, although it’s not like they are much different from Europe except taxes are a bit lower. You can get locally made clothes at local markets for much lower prices than the chain stores in the malls. Also, Bangkok is a really fun city with plenty to see and do. For what it’s worth, alcohol is much cheaper in Bangkok than in Dubai, and much easier to get as well. I hope this helps. Let me know if you have any other questions. -Roger
While Cancun has become the king of the Mexican beach resort towns in the few decades since it was formed, it's only one of many, and all of them on both coasts have very nice weather in December. In fact, Cancun is probably the most expensive of them, so especially if you are coming from the west coast you are better off in Puerto Vallarta, Acapulco, or Los Cabos instead.
Surprising to some people, December can actually be a bit cool in Mexico City, especially at night. Its elevation keeps it mild all year, but at least the rainy season is totally over by December, so it's an ideal month for a cheap cultural holiday, perhaps combined with a trip to one of Mexico's many beach resorts. You can get cheap flights between Mexico City and Cancun or Puerto Vallarta, for example.