I have a couple of questions, check-list for you :
- Why are you using 5 V to power the uC ? Many of those can be powered with 3.3 V. It may not run at 20 MHz, but when you need 20 MHz maybe another type of controller may be a better fit. I made my first functional calculator with an ATMega32, and getting the power down (~1 mA) means running at 1 MHz and a bit more sleep tricks, faster was not really needed, it depends on your algorithms.
If your choice of 8 bit uC is size, it means not a huge battery too, wasting power on 5 V and 20 MHz... may not be the best fit.It also has an internal oscillator, you may not need an external crystal.
- Does the I2C code work ? (Do you see your stream of data ?)
- Do you see the correct start of transmission and acknowledge response from the display ?, I2C is open-drain, that means that when the LCD (and Memory chip) want to answer you have to set the pin to input, because the attiny doesn't (seem) to have open-drain output pins. (Not many level-converters support bidirectional operation...).