Diving directly from Phuket's beaches isn't excellent, but we do have really nice boat dives departing out of Phuket. Many of the major dive sites visited by Phuket and Phi Phi operators are the same, unless you get a trip out of Phi Phi way down south to Koh Haa and Hin Daeng, both of which are rather far from Phuket and are not on the typical schedule of Phuket boats. For the same reason, Phi Phi boats don't go to the Racha islands since they're too far from Phi Phi for a daytrip, and you can't get a daytrip to the Similans from Phi Phi at all.
Where to stay on Phi Phi? It depends on whether you want to party or if you want tranquility. If you want to party, stay in the village on the Ton Sai side. If you want tranquility, get further from the village, even on the Loh Dalam side (which is sort of at the back of the village, actually). Whether you need to book ahead at year end? Definitely for accommodations--for diving daytrips you can probably book a day or two in advance only.
Where to stay at Krabi? Ao Nang is a nice town. Railay is more backpacker-y, so if you're looking for bed-bug-budget-hostel-style, you might like that beach. Koh Tao is bound to be a human zoo at New Year's, and Koh Pha Ngan even more so. Book ahead everywhere you can so you don't spend hours searching for a bed and dragging all your stuff with you while you walk from place to place.
My favorite dive sites to visit from Phuket: Shark Point, Anemone Reef, Koh Bida Nai/Nok, Koh Doc Mai, King Cruiser, Koh Racha Noi, Similans.
My favorite dive sites to visit from Phi Phi or Krabi: Koh Bida Nai/Nok, Shark Point, Anemone Reef, King Cruiser, Koh Haa, Hin Daeng/Muang.
My favorite dive site from Koh Tao: Chumpon Pinnacle