As duas formas há hora de almoço e à hora de almoço estão corretas, contudo seus significados são diferentes.
Ou seja, ambas as construções são válidas, devendo, no entanto, ser usadas em diferentes situações.
Há hora de almoço significa, habitualmente, que existe um determinado momento por volta do meio-dia ou ao princípio da tarde que designamos por “período” de almoço (verbo haver é usado no sentido de existir).
No meu trabalho nunca há hora de almoço.
Não há hora de almoço no negócio da maquilhagem
Hoje há hora de almoço (12h30 às 15h).
A construção à hora de almoço é utilizada quando fazemos referência a + «a hora de almoço» (refeição servida por volta do meio-dia ou ao princípio da tarde) quando tal acontece somos a escrever com a crase à = a + a. Notar que hora é um substantivo feminino.
Estou lá à hora de almoço, Marvin.
Vem ao meu escritório à hora de almoço.
Alguns cavalheiros vêm aqui à hora de almoço e ao fim do dia.