Такую задачу можно решить с помощью конструктора баз данных
Руна за 20 минут.
Создать объект с общей информацией по договору (даты создания/подписания и пр., порядковый номер, стороны, примечания, ответственный и др.), установить признак (входящий, исходящий, внутренний) и в самих данных прикреплять сам договор к записи.
Для разграничения прав потребуется многопользовательский доступ: одним дать полный доступ, другим - только на просмотр (возможны варианты).