Nu am un răspuns științific în acest caz, nici surse din care să mă inspir, dar părerea mea este următoarea: orele nu se numără, ci se incrementează.
Atunci când, de exemplu, vezi 2:35 (și citești – de obicei – “două trei’-ș’-cinci “), formularea completă ar fi “două (ore) și treizeci și cinci (de minute)”. În acest caz este evident că folosim două pentru că substantivul “ore” este de genul feminin.
Dar cum procedăm în situația “la ora două”? După cum spuneam: orele se incrementează (adică se adună), deci – din punctul meu de vedere – ar trebui să fie “la două ore (după miezul nopții sau miezul zilei)”.
Concluzie: consider că “ora două” nu este o formulare corectă (deși are o largă utilizare), dar mai ales “ora doi” (care și sună greșit pe lângă faptul că nu are logică). Mai sunt și oameni care folosesc exprimarea “orele două” care parcă se apropie mai mult de adevăr decât celelalte două formulări.
E simplu, numeralul de identificare nu cunoaste flexiune dupa gen si are doar gen masculin (cautati in regulile gramaticii, nu in pareri scrise de unul si altul). Asa cum spui, “camera unu, camera doi…,” sau “concurenta nr. unu, concurenta nr. doi” (exemplele pot continua) asa e CORECT “ora unu si ora doi”. Dar, aceasta exceptie de la regula gramaticii cu “ora doua” se accepta ca fiind corect datorita uzului general (deci majoritatea populatiei foloseste “ora doua”). Asta nu inseamna ca e corect “ora doua”, ci doar acceptat ca exceptie de la regula “numeralul de identificare nu cunoaste flexiune dupa gen”. Pe voi ce va intereseaza, cum e corect sau cum e acceptat? Cei care acorda numeralul de identificare (care nu e adjectiv) cu substantivul, habar n-are de gramatica.