divemaster86, you are wise to extend your stay in Thailand to 3 weeks if you want to do touring up north, spend some time in Bangkok as well as do some diving.
For your time in Khao Lak, if you think a liveaboard will not appeal to your husband, it is perfectly possible do some daytrip diving by speedboat to the Similans and beyond. No, you won't visit as many dive sites that way because you will be more limited in the number of dives you do by daytrip, but you can get a very good idea of the marine life. Don't worry too much about finding a resort in Khao Lak with easy access to the dive ops since they will go collect you from your hotel and take you to the boat. Khao Lak isn't a huge place, so even if you stay away from the main town, getting around to restaurants, etc., in the evenings would be a question of getting a tuk tuk out of the resort.
On Phuket, when researching a place to stay, be aware that you may be required to pay for the "gala" dinners on Christmas and New Year's Eves, and that these can be quite pricey. You should make sure to inquire about this so that you don't have any surprises!
Regarding your flights, you may want to look into the Discover Thailand travel pass that Thai Airways offers. It's three segments for a fixed price. You book it yourself directly with the airline. You could go 1) BKK - CMX 2) CMX - HKT 3) HKT - BKK.
Hope that helps!