Does an application server instance have to be running in order to deploy to it?
No, the instance need not be running, but the Admin Server that controls the instance needs to be up and running. If the Admin Server is running, you can either use its Deploy feature in the Administration interface or the asadmin deploy command to deploy a module or an application to an instance regardless of whether or not the instance is up and running.