Update: I did find a way to do this some time back, and am posting to help someone else. The only issue is that downloading the sketch in this manner programs BOTH ATMEGA, meaning the one in the real Arduino board and the breadboard. Not an issue but you need to know that you'll lose the Arduino ISP sketch on the real Arduino so just have to re-download it.
Attach the breadboard arduino to the real arduino as here using the "Burning the Bootloader" configuration NOT the picture below, which shows how to do it IF you remove the ATMEGA from the Arduino (which I was trying to avoid): http://arduino.cc/en/Tutorial/ArduinoToBreadboard
Also, in this configuration, you need to connect a 120 ohm resistor from reset to 5V on the Duemilanove/real Arduino board.
Then, in windows, open a DOS command window and go to the directory that has avrdude in it (you have to enter this line while in that directory, I believe). I won't go into all that here since it can be googled. The following command worked for me, where "three.hex" was the compiled Arduino code that was found in a temp folder (you can search for how to find the compiled code).
avrdude -F -p m328p -c arduino -P com3 -b 19200 -u -v -Uflash:w:three.hex
Last hints: make sure you didn't erase Arduino ISP from a previous attempt. Reload it if needed. Remember the 120 ohm resistor on the main board. Use the avrdude command that ignores the chip identification code from the breadboard ATMEGA (if it isn't in the line above), Mess with baud rate if needed. I believe some had success with higher rate.
If someone gets this to work, please post more details for the community. I may have forgotten something but above is what I had in my final notes.