use virtual hosts with SSL.
There's only one
SSL-host per IP-address possible, so no
If you want to have multiple SSL-hosts on one server, either get 1 (public) IP for each server or start mapping them on different ports (ie 443, 444, 445, etc).
The nature of SSL is that the connection is secured before any HTTP-information (like destination hostname) is transferred. This causes an chicken and egg problem, since the hostname is also included in the SSL certificate that is used to secure the connection..
Have a look at http://en.wikipedia.org/wiki/Virtual_hosting#Cons