A nice paper on the subject is this one:
**broken link removed**
18 bit phase accu with 10 bit DAC strikes me as a bit spurry, but it really would depend on your requirements. Anyways, increasing the resolution of your phase accu is a pretty cheap way to improve things somewhat. Depending on how fast the DAC is you can employ some dithering scheme. Oh and another way to improve things is to use for example a Taylor series for correction. Now that I mention it, at least the Xilinx DDS core has the Taylor series feature on. I would suspect Altera has that as well, but I'm not sure.
Anyways, if you haven't done so already I suggest checking out the DDS core from your favorite vendor. If only for a bit of inspiration.