One way with awk
awk '
NR==FNR && /\>/ {
x=$0
getline b
a[substr(x,2)]=b
next
}
{
for (i=2;i<=NF;i++) {
for (k in a) {
if ($i==k) {
$i=$i" "a[k]
}
}
}
}1' file2 file1
One-liner:
awk 'NR==FNR{NF==2?k=$2:a[k]=$1;next}{for(i=2;i<=NF;i++){for(k in a){$i=$i==k?$i OFS a[k]:$i}}}1' FS="[> ]" file{2,1}
Output with your sample data:
$ awk 'NR==FNR {NF==2?k=$2:a[k]=$1;next}{for(i=2;i<=NF;i++){for(k in a){$i=$i==k?$i OFS a[k]:$i}}}1' FS="[> ]" file{2,1}
Jan12345: ID1 ABCDEFG ID2 HIJKLMN IDN1 OPQRSTU
Jan67899: ID11 WXYZABC ID12 DEFGHIJ IDN2 KLMNOPQ