Sim, você pode montar uma string para cada uma das referências de intervalo, usando "&" para concatenar as peças. Mas então você tem que usar INDIRECT () para converter as strings de volta para um endereço real.
Se o nome do seu WORKBOOK2 estiver em A1, sua fórmula se tornará:
=VLOOKUP(B1,INDIRECT("'["&A1&"]Data'!A1:B100"),2,0)="8H",INDEX(INDIRECT("'["&A1&"]Data'!E1:E100",MATCH(B1,INDIRECT("'["&A1&"]Data'!A1:A100"),0))))
Nota: Na minha versão do Excel, a extensão de nome de arquivo é necessária, portanto, o nome em A1 seria "WORKBOOK2.xlsx".