That's the thing. I feel that no matter what we do we're still looking at over $20. The breadboard is around $10 alone, and ATmega328 is $5. A couple of dollars for the 16MHz crystal, wires, shipping, etc.
You can make your own board at home, for very little money. If you already have a blank PCB and ferric chloride, we are talking about ZERO investment. Both of the previous items are very cheap.
The only real expensive part is the Atmega328P-PU chip, but you can buy them for $2.95 from Amazon.com. There is one seller (Baligna) there selling the non-P version of the 328-PU for $1 each.
I have 5 Arduino boards I built at home. None of them have built-in USB port, but I expose both the serial port header for a FTDI USB adapter and the ICSP header (for using with ArduinoISP, USBasp or avrisp).
Below are 2 examples of Arduino clones I built at home. The first is a specialized arduino board, with a buzzer, header for bluetooth, FTDI Basic header plus a few other connectors I need. I don't need to make all the arduino pins available in this board.
The other is a general purpose Arduino, also dependant on an external FTDI adapter.
Both feature an Atmega328-PU (of the non-P type), but flashed with the regular UNO bootloader. I used an Arduino as ISP and breadboard to flash the bootloader on these 2 chips.