Se fizermos a análise sintáctica dessa frase, não há qualquer dúvida de que o termo homem é (nome) predicativo do sujeito, porque se trata de uma frase com um predicado nominal, isto é, «um predicado formado por um verbo de ligação ou copulativo [ser, estar, ficar, parecer, permanecer…] + predicativo» (Celso Cunha e Lindley Cintra, Nova Gramática do Português Contemporâneo, 17.ª ed., Lisboa, Sá da Costa, 2002, p. 133), servindo «os verbos de ligação ou copulativos para estabelecer a união entre duas palavras [o sujeito da frase — «João» — e o predicativo — «homem»] ou expressões de carácter nominal».
A dúvida do consulente deve-se, certamente, ao facto de o termo homem não ser o sujeito da frase, mas ocorrer após o verbo ser, um verbo que é, habitualmente, usado para se caracterizar algo ou alguém, o que pode insinuar que todo o termo de caracterização seja um adjectivo, pois, sendo «essencialmente um modificador do substantivo, serve para caracterizar os seres, os objectos ou as noções nomeadas pelo substantivo, indicando-lhes uma qualidade (ou defeito), o modo de ser, o aspecto ou aparência, os estado» (ibidem, p. 247). Por exemplo, se a frase fosse «João é inteligente» ou «João é magro», ou, ainda, «sensível/humano/compreensivo», a consulente não teria, decerto, dúvidas de que as palavras inteligente, magro, sensível, humano, compreensivo se tratavam de adjectivos. De facto, é muito frequente que o predicativo seja representado por um adjectivo ou locução adjectiva.
Por sua vez, se o termo homem estivesse precedido por um artigo (definido ou indefinido) ou por um determinante (demonstrativo, possessivo, indefinido), o consulente não se teria questionado. Em frases como «João era o homem», «João era um homem», «João era aquele homem», «João era o seu homem», «João era outro homem», classificar-se-ia, automaticamente, «homem» como um substantivo.
Portanto, quer ocorra antecedido de um artigo ou determinante, quer imediatamente a seguir ao verbo de ligação, homem é um substantivo, porque «o substantivo pode [também] figurar na oração como predicativo do sujeito» (ibidem, p. 200), como se pode verificar em frases como «Eu já não sou funcionário», «Ele é herdeiro», «De maneiras finas, era um fidalgo, «Para ele, leitura é vício».