Если хочется сделать статусы для сотни документов, то конечно же проще сделать один регистр, подписку. В каждый модуль объекта добавить экспортный метод расчета статуса. Гибко, расширяемо.
Индекс на составном типе нормально работает на соединениях. Никто же не собирается к полю через точку обращаться...?)
Делить функциональность на несколько подписок/регистров/определяемых типов имеет смысл только логически по блокам/подсистемам. Условно отдельно продажи/закупки/казначейство.