How about using VARMENU exactly as it is now, but with a way to document the variables offered by VARMENU, and with a way to describe your outputs?
I suggest attaching a different help file (written in HTML, just like the current quick reference) to every program. You could browse the help file to remind yourself what the program does, and what the input variables are. Perhaps the standard HELP key (F1) could be modified to allow you to select the file to browse.
When your piloting program starts, the HELP key would no longer be active, as the function keys would be overridden by VARMENU's variables. You could enter or calculate a value, and then store it into any of these variables by pressing an appropriate function key. Repeat for the other input variables, in any order. I think that's about as easy to use and keystroke-efficient as possible.
When the inputs are done, you press R/S to run the heart of your program.
Your program could then output its results in whatever format you prefer. In narrative form, like:
Heading 53.27 degrees, speed 427.5 knots, for 3.9 hours.
Or in tabular form, like:
Heading 53.27 degrees
Speed 427.5 knots
Time 3.9 hours
Would that be good enough?
******
To allow the above, I propose three changes.
(1) Modify HELP (F1) to put each available file in HELP\ on a function key. We could then browse any file by pressing two keys: F1 to activate HELP, and a second function key to choose which file. Of course, the current quick reference would always be attached to F1, so we could browse it simply by pressing F1 twice.
(2) Add some operations for full-screen text output, emulating an old fashioned text-only terminal. The DM42 could maintain an invisible cursor indicating where the next output would go; the cursor would move after each output operation. We would need operations for moving the cursor, outputting the alpha register at the cursor location, displaying a numeric value, et cetera.
(3) Add some way to pause execution and suppress the stack display (unlike STOP, which shows the stack). During the pause, KEYG and KEYX would be active, so we could attach code to the UP and DOWN keys, allowing multi-page displays. We could press R/S to end the pause.
Would this be good enough? Comments?