Just to verify: You have one machine, which is foo.mydomain.com. You want it to have two completely different OpenACS instances, sharing nothing, one on foo.mydomain.com and the other on bar.mydomain.com, and you can give each of those two domain names a different IP address. If you only have one IP address for both, then you have to do the nsvhr/nsunix virtual hosting Bart described, which lets one instance of AOLserver direct incoming traffic to either of two places based on the host name in the request.
So. Normally, each OpenACS service has a matching instance of AOLserver - that is, when you fire up an AOLserver process with a config file it's tied to exactly one OpenACS service. So you need multiple services, each with a different aolserver config file, and each aolserver config file needs to have a different address. And the host machine needs IP aliasing so that it's listening on both IPs. (mini-HOWTO)
Essentially, you need to do Install OpenACS 4.6.x twice, once for each service, once replacing "server0" with "foo" and once replacing "server0" with bar. And each config.tcl file needs a different "address".
Each instance is isolated, sharing only the base software like AOLserver and Postgres. So they can't share any OpenACS code or data (like users) and have to be upgraded separately.