(1) что-то типа карточки договора. Создаётся на основе внутреннего документа, содержит ключевые параметры(даты, контрагента и т.п.). Главное это вот как раз привязка различных файлов.
(5) Уже изобрёл похоже ;)
(4) Может новый тип (или вид, не помню давно с документооборотом работал) внутреннего документа нужен?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший