There are some (expensive) components like FreeScale Semiconductor's MM908E625 HC08 (Motorola compatible) microcontroller, which are purpose-built precisely for the kind of use expressed in the question. The headline description of the MM908E625 is:
"Integrated Quad Half H-Bridge with Power Supply, Embedded MCU, and LIN Serial Communication".
To quote from the tech note: (all bold marks are mine)
- High-performance M68 HC908EY16 core
- 16 KB of on-chip flash memory & 512 B of RAM
- Internal clock generation module
- Two 16-bit, two-channel timers
- 10-bit ADC
- LIN physical layer
- Autonomous watchdog with cyclic wake-up
- Three two-pin Hall effect sensor input ports
- One analog input with switchable current source
- Four low RDS(ON) half-bridge outputs
- One low RDS(ON) high side output
- 13 micro controller I/Os
In short, this is perfect for bidirectional control of up to 2 low power (500 mA) DC motors or one stepper motor via the dual integrated H-bridges. A PID can be implemented in the microcontroller core, it has ample memory and a 32 MHz internal clock, more than enough for a PID. The PID can incorporate rotary position input from up to 3 Hall Effect sensors. Also, Back EMF detection is built in, which allows improved motor control. My preferred use for the ADC would be temperature input, allowing over-temperature shutdown to be implemented.
Sample code is available from FreeScale for basic PID functionality, including BEMF and encoder sensing.
Some more advanced open source PID implementations for the HC08 cores are around, though I am not aware of any already ported to this device. Will porting be complicated? Not really.
It is worth contacting FreeScale for samples, and to check whether they sell an evaluation board as well.
For other, similar products, try keywords like integrated core and H-bridge.
Using a part like this, sourced at low volumes, is unlikely to be cost effective compared to sourcing even off-the-shelf hobby servos, since servo manufacturers enjoy economies of scale.
If actual PID is not required and simple comparator-type actuation against position encoder input is sufficient, there are other cheaper options. However, these will typically not allow soft-actuation (slow start / slow stop / overshoot tuning).
- Mitsubishi M51660L, a single DC motor (or solenoid) driver for servo applications. $3 apiece on eBay.
- Infineon TLE4206, another single DC motor (or solenoid) driver for servo applications. $4 apiece on eBay.