It's a shame that the Arduino only has 1Kb RAM, if it 2Kb or more you could do all drawing operations on a framebuffer in RAM and blit the changed parts to the LCD. This would speed up things a lot.
People are looking at porting the 2K ram ATmega328P to the arduino and that could suit your purpose. It has 32k program memory so lots of space for strings etc. Keep you eyes posted on the news thread.
I suggest making the duration of the enable signal a compile time option.
I am not sure adding the delay in enable is the right place for your chips? Have a read of this thread from post 25 onwards and let me know what you think
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210427907/25