Есть еще вариант сделать еще 1 интерфейс с другим именем и тогда при инициализации класса не нужно будет делать дополнительные связи. Но такой подход кажется неправильный так как придется делать полный дубль первого интерфейса со всеми его методами.
//Допустим есть базовый интерфейс:
interface IBaseDB{
// здесь список методов
}
//Просто наследуем 2 пустых интерфейса от него:
interface IBaseDBLogDB extends IBaseDB{}
interface IBaseDBMasterDB extends IBaseDB{}
//и Забиваем их в IoC:
$IoC->Bind('IBaseDBLogDB',$log_db_connection_instance);
$IoC->Bind('IBaseDBMasterDB',$master_db_connection_instance);
Не вижу здесь дублирования кода, на мой взгляд вполне жизнеспособное решение.