I checked, and the Apache Wiki says this about Name-Based Virtual Hosts and SSL (emphasis mine):
As a rule, it is impossible to host more than one SSL virtual host on the same IP address and port. This is because Apache needs to know the name of the host in order to choose the correct certificate to setup the encryption layer. But the name of the host being requested is contained only in the HTTP request headers, which are part of the encrypted content. It is therefore not available until after the encryption is already negotiated. This means that the correct certificate cannot be selected, and clients will receive certificate mismatch warnings and be vulnerable to man-in-the-middle attacks.
In reality, Apache will allow you to configure name-based SSL virtual hosts, but it will always use the configuration from the first-listed virtual host (on the selected IP address and port) to setup the encryption layer.
That information seems to be obsolete. SNI allows to use name-based virtual hosts with SSL. According to Wikipedia, it should work with Apache 2.2.12 and newer, IE 7 (not on XP) and newer, Firefox 2.0 and newer, Safari (not on XP), Chrome 6.0 and newer.
There is also a wiki page for SNI with Apache.
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)