Mi pregunta fue respondida en este hilo en los foros de Codeigniter .
La clave es no autoinicializar la base de datos:
$db['xxx']['autoinit'] = FALSE;
Para suprimir errores, puede configurar esto
$db['xxx']['db_debug'] = FALSE;
Luego, en su código que verifica el estado de la base de datos, verifique VERDADERO/FALSO de la función initialize():
$db_obj = $this->database->load('xxx',TRUE);
$connected = $db_obj->initialize();
if (!$connected) {
$db_obj = $this->database->load('yyy',TRUE);
}
Aquí está mi archivo de configuración completo para referencia futura:https://gist.github.com/3749863 .