La diferencia entre los dos vuelos que has enumerado se debe a dos factores principales.
El primero es la sobrecarga del despegue, el ascenso, el descenso y el aterrizaje. Estos serán más o menos equivalentes para todos los vuelos, por lo que son básicamente una sobrecarga fija.
Para los dos vuelos que has enumerado, los tiempos que has dado son los publicados por la aerolínea y, por lo tanto, incluyen el tiempo de puerta a puerta, incluyendo el taxi/etc.
Escogiendo un LAX-ABQ al azar, UA6474, FlightAware muestra que la media vuelo el tiempo es en realidad de alrededor de 1 hora y 25 minutos, no de 2 horas como has dicho. Las 2 horas incluyen el tiempo de taxi y un margen adicional que las aerolíneas suelen añadir.
Escogiendo un SJC-ORD al azar, AA1008, FlightAware muestra que la media vuelo el tiempo es en realidad de unas 3 horas y 45 minutos, no de 4 horas como has dicho. De nuevo, las 4 horas incluyen el tiempo de taxi.
Incluso así, eso es ignorando la sobrecarga de despegue/escalada/descenso/aterrizaje, que sólo ocurre una vez por vuelo, y no está relacionada con la distancia.
El segundo factor importante es el tipo de avión y, por tanto, la velocidad máxima de vuelo. El vuelo LAX-ABQ suele ser realizado por un avión "regional", más pequeño y menos potente, que suele tener una velocidad de crucero más baja. El vuelo SJC-ORD se realiza con un avión de fuselaje estrecho (o, en ocasiones, de fuselaje ancho), que normalmente tiene una velocidad de crucero más alta.
Esto variará en función de los reactores exactos que se utilicen, pero podría ser hasta un 10% o más para la velocidad de crucero estándar.