Isso deve funcionar.
Carregamos o novo arquivo de valores e, em seguida, processamos o arquivo xml substituindo o valor antigo pelo novo valor usando o número da linha como chave.
awk 'FNR==NR{a[FNR]=$0;next}{$NF=gensub(/value=".*"\/>/,"value=\""a[FNR]"\"\/>","g",$NF);print}' file2 file
#OR working with regex groups:
awk 'FNR==NR{a[FNR]=$0;next}{$NF=gensub(/(value=")(.*)(".+)/,"\1"a[FNR]"\3","g",$NF);print}' file2 file
Teste:
$ cat file
<word key="ACTIVE" group="Service application" value="testvalue1"/>
<word key="ACTIVE" group="Service application" value="testvalue2"/>
<word key="ACTIVE" group="Service application" value="testvalue3"/>
<word key="ACTIVE" group="Service application" value="testvalue4"/>
<word key="ACTIVE" group="Service application" value=""/>
$ cat file2
newvalue1
newvalue2
newvalue3
newvalue4
newvalue5
$ awk 'FNR==NR{a[FNR]=$0;next}{$NF=gensub(/value=".*"\/>/,"value=\""a[FNR]"\"\/>","g",$NF);print}' file2 file
<word key="ACTIVE" group="Service application" value="newvalue1"/>
<word key="ACTIVE" group="Service application" value="newvalue2"/>
<word key="ACTIVE" group="Service application" value="newvalue3"/>
<word key="ACTIVE" group="Service application" value="newvalue4"/>
<word key="ACTIVE" group="Service application" value="newvalue5"/>