Sin VirtualHost vas a sacrificar mucho, pero tendrías que pasar todo lo de la carpeta public a la raiz de aplicacion_2, ajustar las rutas adentro del index.php y dejar application/ y library/ también en la raiz de aplicacion_2.
La idea del VirtualHost es tener todo de forma más segura ya que el DocumentRoot es public por lo que en caso de que falle tu WebServer ningún archivo PHP queda expuesto más que el index.php que tiene la información básica para hacer correr tu aplicación.
En MaestrosDelWeb hay un tutorial sobre como configurar tus VirtualHosts, solo es cuestión que configures uno para tu aplicacion_2 (y la muevas fuera del document root) y crees un nuevo VirtualHost para localhost, con algo así te bastaría:
Código:
NameVirtualHost *:80
# Base dir
<Directory "C:/php_code">
Order Deny,Allow
Allow from all
</Directory>
# ZendApp
<VirtualHost *:80>
DocumentRoot "C:\php_code\zendapp\public"
ServerName zend.local
<Directory "C:\php_code\zendapp\public">
AllowOverride All
Allow from all
SetEnv APPLICATION_ENV development
</Directory>
</VirtualHost>
# Localhost
<VirtualHost *:80>
DocumentRoot "C:\php_code\httpdocs"
ServerName localhost
<Directory "C:\php_code\httpdocs">
AllowOverride All
Allow from all
SetEnv APPLICATION_ENV development
</Directory>
</VirtualHost>
y sí, tendrías que agregar las entradas a tu archivo hosts para que te reconozca zend.local.
Saludos.