I have no UART on my microcontroller so how can I add one?
As others have noted, you can either add additional hardware to your system to provide the UART functionality, or you can emulate one in software. If you have control of the overall hardware design and adding another IC is an option, I would strongly consider the hardware-based approach. You can certainly make a software UART work using bit-banging, but you might not want to dedicate the CPU resources to generating the required timing.

From a glance at the datasheet, it appears that your microcontroller has both SPI and I2C (which Atmel calls a Two-Wire Interface (TWI)). These would probably be the best interfaces to use in order to attach an external UART. Said devices are available from a number of manufacturers. Some examples:


Exar (http://www.exar.com/connectivity/uart-and-bridging-solutions/i2c-spi-uarts) has a line of SPI/I2C 1- and 2-channel UART devices available, covering the ~1.6-3.3V operating range. I've not used any of these parts specifically, but I have used Exar devices in the past (with parallel memory-bus interfaces), and they have worked well. 
NXP (http://ics.nxp.com/products/bridges/i2c.spi.slave.uart.irda.gpio/) has a line of SPI/I2C UART/IrDA/GPIO devices available, also in 1- and 2-channel varieties over a couple voltage ranges. I have used these parts (specifically the SC16IS762) extensively in the past with great success.
Maxim (http://www.maximintegrated.com/datasheet/index.mvp/id/2052) has the MAX3110E and MAX3111E devices, which are SPI-connected UARTs. One unique feature of these devices is that they have an integrated RS-232 line driver. So, if you need your UART to interface to a device that uses RS-232 line voltages instead of logic levels (e.g. a PC), this might be useful, as it will save you from adding another line driver IC to your board.