(4) Можно.
Колонку ТП "Контрагент" делаешь невидимой. Добавляешь колонку с типом строка. В обработчике ТП "ПриВыводеСтроки" заполняешь эту колонку кодом контрагента. В обработчике элемента управления "НачалоВыбора" - "СтандартнаяОбработка = Ложь" и открытие формы выбора, обработка выбора и заполнение контрагента.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший