Supondo que nenhum nome de arquivo tenha novas linhas nelas ...
Crie uma lista dos " 856 -files" e use grep para filtrar os que você deseja:
find . -name '*856*' > filelist
grep -Ff fileA.txt filelist >result.txt
O comando grep usará as sequências em fileA.txt como padrões e extrairá os nomes de filelist que correspondem a eles. O -F flag garantirá que as strings em fileA.txt sejam interpretadas como strings fixas (não como expressões regulares).
Os padrões em fileA.txt podem precisar ser mais específicos, por exemplo, prefixando-os com _ e adicionando o sufixo .dat :
sed -e 's/^/_/' -e 's/$/.dat' fileA.txt >fileB.txt
Você usaria fileB.txt com o grep em vez de fileA.txt .