It might be helpful to know which PIC the OP is planning to use.
I used a PIC18F2550 with the AD9834.
And used 99% of the program memory (150 bytes free).
It has sine, triangle, square, sine sweep up/down, triangle sweep up/down, and PWM waveforms.
If I had it to do over, I'd use a PIC18F2620 with twice the program memory.
Just because I'm using it in another project.