Python 2.6, 251 - 243 - 227 characters
I tried a slightly different approach (bitpacking the parts the letters are made of) ...
- handles uppercase letters, spaces, exclamation mark.
- 2 unnecessary linebreaks added here for readability (the for loop could be one line)
- be sure to save this as UTF-8 with BOM!
As always, all comments and suggestions welcome! Contender for shortest Python solution (again a few characters behind at the moment)...
w=raw_input()
for l in range(5):print''.join("1111 11 11 1 1 "
[int(("%05d"%ord(u"<ϳϲࢬ禉ऐऒ࠾⬃ᅘᖆⰯ囌❿✛іϾь穏ࠂᅜ⭦⭪⫸㡩⬪㰼"
[max(0,ord(c)-64)]))[l])*3:][:3].replace("1",c)+" "for c in w)