Quando os verbos haver e fazer integram frases em que veiculam um valor temporal, são duas as construções possíveis:
(1) Ela trabalhava há muito tempo naquela fábrica.
(2) Há muito tempo que ela trabalhava naquela fábrica.
Segundo Evanildo Bechara na Moderna Gramática Portuguesa, S. Paulo, Editora Lucerna, 2001, o que que aparece em (2) terá sido inicialmente relativo tendo-se tornado gradualmente uma conjunção. Por analogia com outras expressões de tempo ocorrem frases como (1). Em qualquer dos casos estamos perante uma frase complexa, pois temos dois verbos conjugados.
Ainda segundo o mesmo autor, a frase «há muito tempo» pode ser classificada de três formas distintas:
a) Tendo em conta (2), «há muito tempo» seria a subordinante, e «(que) ela trabalhava naquela fábrica», a subordinada.
b) Como o valor desta frase é temporal e esse valor é habitualmente associado à subordinação, surge a proposta de, tendo em conta frase como (1), não valorizar o que, considerando-o uma espécie de correlativo. E, nesse caso, a subordinante seria «(que) ela trabalhava naquela fábrica», e «há muito tempo», subordinada temporal.
c) Numa terceira interpretação, que se aproxima da sua leitura, «há muito tempo» se consideraria que a expressão se teria fixado com valor adverbial, perdendo o seu valor de frase e passando a desempenhar apenas a função de complemento circunstancial de tempo.
Qualquer das três possibilidades tem uma explicação válida, sendo legítimas as interpretações estabelecidas com base em qualquer delas.