I'm building a circuit that will generate various wave forms. The output from the circuit is fed to a summing amplified where positive or negative dc offset is being added. This signal should be attenuated or amplified according to what's written in code (this means no pots.). The control elements I currently have are the MCU with a few free GPIOs and a free channel on a bi-polar 14bit DAC. The solution should take in account the fact this design should be of high quality, so I am not sure using an LED+LDR combo or something like that is really an option as the control should be tight and repeatable.
You can certainly use a digital pot. You might also try a variable gain amplifier -- or maybe a switched capacitor circuit controlling a resistance value in a feedback path to change the gain by changing the switched cap clock frequency.
Why would a digital potentiometer, controlled over I2C or SPI, not be accceptable?
MCP4552 is only a buck in singles; there are various higher-resolution/performance parts at slightly higher cost, too.
The other option is to do everything in the digital domain, and only go to DAC once you need to realize the final, summed, signal. If you need to mix multiple signal generators, and can't just use a single DSP for that for some reason, you can still use a digital link (SPI, I2S, etc) to transport the signal.
Here's an idea that you might be able to achieve with a fast PWM signal (circa 10 MHz) - use it and fast analogue switches to gate the signal on and off - a 50% mark-space ratio applied at 10MHz to the signal will half its amplitude and different mark-space ratios will change its amplitude pro rata. You'll need an output filter to recover the "modified" baseband signal.
Or, you can go the obvious route, and use an analog multiplier, with your DAC channel as the control voltage. Analog Devices, for instance, makes a wide range of products, with 1 MHz being easily achieved. See http://www.analog.com/en/special-linear-functions/analog-multipliersdividers/products/index.html