Para eso es importante separar responsabilidades, no es tarea de la clase de conexion extraer los parámetros, simplemente su tarea es interactuar con la base de datos, así si lo mantienes limpio puedes tener varias clases:
Código PHP:
Ver originalrequire('db.php');
$db1 = new db(/*config db 1*/);
$db2 = new db(/*config db 2*/);
Es precisamente esta la razón por la que no conviene usar Singleton para clases conexión, lo mejor es usar un registro y de ahí obtener la clase.
Respecto a tu duda lo mejor es que tengas una forma de leer la configuración ya sea desde otro file, ini, xml, txt, etc. y lo pasas a tu clase, por ejemplo:
Código PHP:
Ver originalrequire('config_reader.php');
require('db.php');
require('registry.php');
$config = new Config('params.ini');
$db = new db($config);
Registry::set('db', $db);
Saludos.