Rafael, estava tentando da forma que vc sugeriu mesmo, com o evento "filter". Então a cada letra digitada o método é chamado novamente, e nestas chamadas vi que a quantidade de elementos na List não muda p/ q eu possa fazer a soma parcial.
Não fiz nenhuma implementação diferente, apenas utilizei o filtro padrão, por ex:
<p:ajax event="filter" listener="#{vagaCadastroMB.filterListener}"/>
<p:column headerText="#{msg.labelArea}" sortBy="#{item.areaConhecimento.nome}" sortFunction="#{vagaCadastroMB.stringComparator.compare}" filterBy="#{item.areaConhecimento.nome}" filterMatchMode="contains">
<h:outputText value="#{item.areaConhecimento.nome}" />
</p:column>
Será que existe algum parâmetro de evento que eu possa passar na chamada deste método listener que possa retornar a lista parcial?