Estoy de acuerdo que en los casos que es necesario conectarse a diferentes bases de datos, el patrón singleton no sirve. En estos casos, se puede utilizar registry como bien habeis dicho, pero también tenemos la opción del patrón Multiton:
http://en.wikipedia.org/wiki/Multiton_pattern