In a production system, how can I use se38 or se80 to DISPLAY programs but not be able to EXECUTE the program from those transactions?
Please read Authorizations Made Easy Guide at http://wwwtech.saplabs.com/guidebooks/authorizations.asp. You can configure this in the user profile.
This is an authorization question. It is possible to display the source code and to disable user authorisation to execute ABAPs without developer key in the transactions SE38 ABAP editor and SE80 ABAP Development Workbench.