Agree that both St. Thomas and St. John would meet your needs. Christmas is going to be expensive and St. John is more expensive. The water temps at that time of year are cooler but I would not say they are cold. There can be the Christmas winds but hey they keep the bugs away and make for comfortable sleeping at night. You may want to also consider St. Croix USVI as there is great diving, a variety of accomodations avail, nice beaches, dining, shopping and some hiking. Good luck and have fun planning.