Thank you, Richard.
I think that isolation could introduce excessive jitter if not implemented carefully. But I cannot see any problems in using the micro as a dedicated DAC itself, directly producing the reference voltage only, and doing nothing else, while communicating with the control via its fast SPI hardware module as a slave, using isolation. This makes the low power, wide supply voltage range, 8-pin tiny45 become very attractive as a near-ideal DAC with better linearity that any other very expensive <1 LSB INL dedicated DAC.
The only drawback I can see in this topology is the unavoidable introduction of glitches at the output under certain circumstances, where the diff error value loaded at the compare-match registers needs less CPU cycles to complete that the CPU cycles required by the ISR itself. Or glitches, again, when the asynchronous and faster PLL clock finishes before the ISR does. Of course, the OCR1x loading can be moved at the beginning of the ISR (right after pushing the first temp and reading the loaded value) to speed up things a little. But I do not think that there can be any substantial speed code optimizations, since the posted code above is already quite fast. The ISR code can become a little faster if both the 16/24/32-bit variables are loaded not to the SRAM but directly to the 32-byte register-file, which can be more than twice as fast as the SRAM in access time.
-George