I have breadboarded a 328 using the internal oscillator. It is not hard. Arduino IDE comes with a bootloader you can use. It is call ATmegaBOOT_168_atmega328_pro_8MHz.hex. Now you need to set the fuse bits to activate the internal oscillator and set the divider to 1. The bytes are
I added the following definition to my Boards.txt
BB1.name=Breadboard w/ ATmega328 Internal Oscillator
I have done some testing but not exhaustive testing. I works fine for me, so far.
Contrary to popular belief, you do not need a bootloader to use the Arduino IDE or run sketches. I once used the Arduino IDE to load the "Blink" sketch on a virgin chip. It didn't work as normal because it was compiled for an Uno running at 16MHz but was loaded onto a chip using the internal oscillator at 1MHz. So as you can imagine, the LED came on for 16 seconds and them went off for 16 seconds. I later loaded a bootloader and set the fuses using the definition above and all ran well.
The Bootloader is ONLY needed if you want to load your script via the serial port. If you use the ISP it is not needed. I do use the bootloader and that is why I loaded it.