2.1 Is there any way to eliminate the "END OF PROGRAM" message when a program terminates normally?

If you explicitly run the program, as in

:run myprog.pub.myacct

then you will see "END OF PROGRAM" when the program terminates. However, if you execute the program implicitly, as in

:myprog.pub.myacct

or

:xeq myprog.pub.myacct

then you won't see "END OF PROGRAM".

Note, however, the above forms, while working in most cases, do not support alternate entry points.