Anne --
If you
cannot use named virtual hosts on the servers behind the load balancer (for some reason), and cannot configure your load balancer to reject requests not having the domain name, you could write a rewrite rule. While this is a widely used option, I believe it should generally be considered last, after other options have been considered. If you look at the totality of the threads here in this forum, you will quickly see that rewriting is a tricky thing to pull off!
But if I have not dissuaded you, the following should do the trick also. I'll assume you have access to the apache configuration, given your scenario. The same code will work in a .htaccess, but it is a less desirable solution if not required.
RewriteEngine On
RewriteCond %{REMOTE_HOST} [0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
This would respond with a 301 redirect, the user would get the corrected domain name, and is the fastest way to clean up the Google entries. FYI, you may want to add another RewriteCond if you don't have one elsewhere, in order to redirect non-www versions of your domain to the canonical www version, which might look like this:
RewriteEngine On
RewriteCond %{REMOTE_HOST} [0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3}\.[0-9]{1-3} [OR]
RewriteCond %{REMOTE_HOST} !^www\.example\.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
You may also want to set up a Google Webmaster Tools account (if you don't already have one) and claim ownership of all the variants, after which you'll have the option of declaring a preference within Google for how your domain results should be displayed.
Tom