Onde vão a validação de campos, cpf,função de habilitar e desabilitar campos na view ou no controller?
A classe controller devo usar como uma classe implementando actionListener para controlar os eventos?
Se não for isso o que devo colocar no controller?
Você precisa pensar da seguinte maneira. O que você vai fazer, tem respeito com a interface grafica (view) ou não?
Validação do CPF ou CNPJ pode ser feito tanto na view ou ser uma regra de negócio.
Se você fizer na view e no futuro pensar em usar seu projeto em plataforma web, terá que refazer a validação do CPF na view da aplicação web.
Se você fizer como uma regra de negócios, que fica no model, pode chamar no controller para testar, antes de chamar o método save por exemplo. E quando trocar de plataforma, não precisará implementar novamente essa validação.
Sobre os Listeners, eles são diretamente ligados a View, então pertencem a View.