>> I had to select "DUEMILANOVE with ATMEGA328"
There are several bootloaders for the m328 floating around. This means that your "chip with bootloader" has a different bootloader (probably "ATmegaBoot" or "AdaBoot") than what ships on the Uno ("optiboot.")
>> I would like to put the ATMEGA328 on a breadboard and program it with the arduino.
With a sketch, or with a new bootloader, or with an arbitrary .hex file and no bootloader?
For the first, you'd need to remove the 328 in your Arduino and jumper over the serial pins (0, 1, Gnd), because you would still be using the bootloader on the chip that was having the sketch "uploaded" to it.
For the latter two, you'd wire up the ISP connections (usually Gnd, 13, 12, 11, and 10 to Gnd, 13, 12, 11, and RESET), following one of the many tutorials on using ArduinoISP. The "Uno only" problems have mostly been fixed or worked around; it's a matter of disabling the auto-reset on the Arduino...