(3) Это правильно называется реферальная система/программа.
Для реализации достаточно одного реквизита (можно и доп но лучше обычный) в справочнике Контрагенты, который хранит у себя Контрагента - "родителя".
И не требуется делать иерархию элементов в справочнике.
А как вывести запросами дерево это уже искать нечто вроде
v8: СОЕДИНИТЬ ПО "В ИЕРАРХИИ" - решено