When you say that you had to just pick "lp -dhpa" to print something, did it print all three items at once (envelope, letter and receipt). Or there was a specific print queue to print specific items (ex. = hpa for letters, hpr for receipts, and hpe for envelopes)?
Either way, I think what your looking for are the escape sequences to tell the printer what you want it to do. So if you print all three items with one print command, the escape sequences are going to have to come from the application, almost like an embeddded header for each item being printed.
If you have seperate print queues for each item, they can all still access the same printer, but you can set them up to format the text (size position, paper tray).
Hope this helps.
crowe