The best way to do this is to use a mask to expose the lettering. You can do the lettering in whatever program you have (Photoshop, or whatever). Save it as a .png file (one that has an alpha channel) so you can overlay it and see whatever is behind (underneath on the timeline).
Unless you're going to just have it on black or whatever color. Anyway, make a mask over the lettering and keyframe the mask exposing the lettering like it's "writing" it. Here's a link to something like that I did a while back on YouTube (please excuse the low quality): http://youtu.be/Zmw6wwROixo
As far as a program that does that, I don't know of one. NewBlu effects has titling software, but I don't think it does what you're wanting to do. I think the masking effect is the best way to achieve that and you have total control. Here's another link to an Andrew Kramer tutorial I tried making the lettering look like it's spray painted on:http://youtu.be/XlcuQCkR2vg
Hope that helps. Let me know.