Да, вобщем-то, решение очевидное. Придется делать много мелких "телодвижений" и организовывать "закат Солнца вручную"
1. Необходимо разорвать связь (Relation) между полем таблицы и таблицей - источником выпадающего списка, поскольку именно эта связь устанавливает запрет на ввод значений, которых нет в связанной таблице.
Другими словами, поле таблицы должно быть создано на базе EDT, который не имеет Relation на таблицы-источник списка. Соответственно, никакой родительский EDT также не должен иметь этого Relation.
Просто у Relation на EDT нет аналога свойства Validate для Relation у собственно таблицы. Нет возможности отключить проверку. Можно только разорвать связь.
2. Поскольку Relation не существует, то в объекте формы необходимо "вручную" организовать выпадающий список.
2.1 Установить значение свойства LookupButton = always - для отображения кнопки со стрелкой
2.2. Перекрыть метод Lookup чтобы организовать вызов выпадающего списка из нужной таблицы. Примеров как это сделать полно на данном форуме
Ну, а запись введенного значения в таблицу-список можно сделать в разных местах. Например, перекрыть метод Modified объекта ввода. Или в методe Write на таблице-источнике формы.
Вобщем, в любом методе, сохраняющем введенное значение, выполняешь поиск введенного значения в таблице-списке. Если такого значения нет, то создаешь запись в списке.
Только, повторюсь, это все интересно с точки зрения самообразования, но совершенно бессмысленно с точки зрения работы приложения. Вы не только не решите поставленных задач, но и создадите в организации кучу проблем по постоянной чистке базы от всякого хлама. Именно Вы и будете этим заниматься...