The nano has 6 PWM outputs : http://arduino.cc/en/Main/ArduinoBoardNano
But for a led, you could use the SoftPWM : http://code.google.com/p/rogue-code/wiki/SoftPWMLibraryDocumentation
But the SoftPWM uses TIMER2, so that might be a problem if all of the 6 normal PWM outputs are in use.
The analog inputs can be used as digital pins. So you have 13 + 8 - 2 - 2 = 17 pins available (13 digital, 8 analog, rx and tx already in use, i2c in use).
A common RTC is the DS1307. It uses i2c. If you have a temperature sensor with i2c it doesn't need extra pins.
Four (?) pins for the keyboard.
Six pins for PWM, and one pin for simulated PWM for a led.
That makes 17 - 4 - 6 - 1 = 8 pins left for the display.
If you select the 4-bit databus for the display, you need 7 pins.
In the end, you even have 1 pin as a spare.
My advice : use a shift register 74HC595 for the display and perhaps also for leds. That way you have a few pins spare, because during a project I always need more pins than what I had in mind.