To start, let’s assume your A/D (10 bits) is going to read some parameter, you make a calculation based on that info, spit that number to the D/A which sets how fast the motor runs.

At first glance, you’ll need a 10 bit max D/A to run the motor because that is all the accuracy you have, the 10 bits given by your A/D. However, if your motor doesn’t run linearly (such as it needs a few volts before it even starts to turn) you may be wasting D/A range to get past the dead zone. How accurately you need control the motor is gonna decide how many bits you need (so you'll have to give us more info for an informed choice). 8 bits as a starting point for experimentation isn't a bad choice.

I’m not one to reinvent wheels; you can buy a very well designed D/A for little more then some precision resistors will cost you to build the R/2R ladder, and it will perform better to boot. I’ve used a few of Maxim’s D/A chips with an I2C serial interface (basically serial data and clock). PBP had commands to run these off 2 PIC pins.

Maxim can be a problem to get parts if the major distributors don’t have it, they tend to long lead times with high min orders. I’m sure people here will offer you way too many alternatives if you ask. ;-)