Nabonita --

Your apache configs are contradictory.  Remove the catch-all VirtualHost and NameVirtualHost settings so your configuration would look like:

****************************
#Listen 12.34.56.78:80
Listen 8000
Listen 9000

# NameVirtualHost localhost:8000
# NameVirtualHost localhost:9000

<VirtualHost localhost:8000>
    ServerAdmin webmaster@dummy-opac
    DocumentRoot /usr/koha229/opac/htdocs
    ScriptAlias  /cgi-bin/ /usr/koha229/opac/cgi-bin/
    # ServerName opac
    ErrorLog logs/opac-error.log
    CustomLog logs/opac-access.log common
    SetEnv PERL5LIB "c:/usr/koha229/intranet/modules"
</VirtualHost>

<VirtualHost localhost:9000>
    ServerAdmin webmaster@dummy-opac
    DocumentRoot /usr/koha229/intranet/htdocs
    ScriptAlias  /cgi-bin/ /usr/koha229/intranet/cgi-bin/
    # ServerName intranet
    ErrorLog logs/intranet-error.log
    CustomLog logs/intranet-access.log common
    SetEnv PERL5LIB "c:/usr/koha229/intranet/modules"
</VirtualHost>
********************************

This would select VirtualHost strictly by localhost:X where X is the port number.  This assumes you have no other VirtualHosts on port 8000 or 9000.  Using unique ports, you don't need NameVirtualHost.

NameVirtualHost expects to select (potentially from multiple requests on the same port) based on the ServerName in the request.  So if it is used, and your ServerName lines don't match incoming requests, then you get into trouble.  Sometimes these problems are made clearer by establishing separate DNS names for the servers at the outset.  Then you could use NameVirtualHost and the ServerName lines with those names, and test from any system. 

Or if you add to your local hosts file (/etc/hosts) to resolve the names you want, you can test, but only from the same system.  See "man hosts" for more info.

--joe