Choosing a microcontroller

I am currently looking for a micro controller to use for my project. I like the Atmega328, however it is too big for my product. I need one that is around 16k byte space for my Arduino code to be uploaded onto it. For pin amount, I need to find one that has at least 14 pins. Is there another choice for this besides the ATmega328 that includes a lot of information with the device?

I saw something that was an ATMEGA328 but an MLF version, is that useable with Arduino? I do want to integrate my product into a working PCB, so would that be a useable option. If so, how would I upload the program from Arduino to that?

Yes, same die, smaller lead package. Google "femtoduino" Connect your Programmer (such as Atmel AVR ISP MKii) to the SPI pins (SCK, MISO, MOSI, Reset, Power, GND), power the board, and Burn Bootloader to set the fuses, then Upload Using Programmer to load your sketch.

I see that the femtoduino is out of stock, another thing is like the arduino uno it sucks up power compared to barebones arduino on breadboard. Is that the same for femtoduino? I want to be able to have my device working for months without battery changes. I just looked at the MLF version and might want to use that as my micro controller due to the size (its perfect!). I see that it does work via programmer, now if I were to purchase the atmega328 MLF version (standalone), could I connect it to the arduino uno and upload through that?

Sure, you need just need to be able to access the pins, so you're going to need to install it on a breakout board or similar. Sometimes using a little bigger package can make your project a lot easier. Example:

What are the dimensions (in mm) of that board? Looks like something I could really use for this product.

The teensy boards are small and in a nice DIP form factor that is easy to work with.

--- bill