Is this question about JBoss Application Server or JBoss Web Server? They are two different products and this forum is the JBoss Web Server, so I will assume that is the one you are asking about.
1) What is the difference, according to you, between production mode and non-production mode? (No such distinction exists within the JBoss Web Server) Without knowing this, I cannot answer your question.
2) If you want to have a switch whereby you can start the JBoss Web Server either with the consoles deployed or not deploy, the easiest way I can think of to do this is to change the run script that starts the Web Server to remove the server/default/deploy/management and server/default/deploy/management directories (and their contents) before starting the Web Server.
3) Use the -b option for the run script, this option binds the Web Server to a particular IP address.
4) For which user? There could be thousands.