Boa noite.
Acredito que um componente autocomplete resolva isso. Na maioria dos casos resolve. IMHO é retrógrado utilizar interfaces neste modelo de código e descrição para cada entidade do sistema.
Atualmente temos em produção um sistema de automação comercial em Flex que ocupou o lugar de uma aplicação Delphi (que os usuários amavam). A aplicação anterior trabalhava assim, se livrar do vício é difícil mas hoje o pessoal se desprendeu dos "códigos" e utilizam os componentes autocomplete de forma muito eficiente. As telas ficam objetivas e você não foge nunca do fluxo lógico de preenchimento. Além disso, você tem alguns ganhos, por exemplo, para buscar um fornecedor eu permito que meu autocomplete filtre dois campos (Nome Fantasia e Razão Social), isto faz muito sucesso!
Com o usuário treinado e habituado com o novo sistema, constatamos (através de benchmarks) que os preenchimentos de formulários se tornaram mais rápidos quando comparados à aplicação anterior, colocando abaixo as teses de que autocompletes não são práticos para forms.
Sem ter que se preocupar com decorar códigos, os usuários ficam com suas atenções livres para focar em áreas mais importantes do sistema.
Enfim, my two cents...
.
Abraço,