Mit "Wie lange brauchen Sie für die Reparatur?" und "Wie lange dauert die Reparatur?" fragt man nach einer Zeitdauer. Da sind die Antworten "Zwei Stunden" und "Etwa drei Tage" jeweils korrekt und austauschbar. Jede Zeit-Einheit (eine Stunde, ein Tag, usw.) ist als relative Zeitangabe eine korrekte Antwort. Start- und End-Zeitpunkt sind hier nicht definiert. Damit der Fragende weiß, zu welchem absoluten Zeitpunkt der jenige fertig ist, muss er auch noch wissen, wann die Reparaturarbeit begonnen wurde.
Mit "Bis wann können Sie das reparieren?" fragt man nach einem absoluten Zeitpunkt. Die Antwort "Bis in zwei Stunden" ist richtig: Sie beschreibt den Zeitpunkt, der in zwei Stunden gegenwärtig ist. Der Fragende will hier nicht wissen, wann die Reparatur begonnen wurde oder wie lange sie dauert, sondern nur, wann sie fertig ist. Merke: Antworten auf "Bis wann ..." können immer auf einen genauen Tag und Uhrzeit bestimmt werden (ohne Startzeitpunkt der Reparatur, Dauer etc. zu wissen). (Abgesehen natürlich von Variablen-Benutzung wie z. B. "Ich bin dann fertig, wenn das Ereignis XY eingetreten ist", aber das ist ein anderes Thema.)
"Wie lange brauchen Sie?" - "Bis in zwei Stunden." klingt nicht schlecht, versteht auch jeder, ist aber genau genommen nicht richtig, da es eine Antwort auf die "Wann sind sie fertig?"-Frage ist.
Es muss hingegen bei der Frage nach einem Zeitpunkt die Antwort eindeutig auf einen Zeitpunkt referenzieren, egal zu welchem Zeitpunkt gefragt wird. Beispiel: "Bis wann sind sie fertig?" "Bis in 2 Stunden" -> Die Antwort meint den Zeitpunkt in 2 Stunden, das könnte z. B. der 12.12.2016 12:10 sein. Wenn man später fragt, wann die Reparatur fertig wurde, muss die Antwort auf den Zeitpunkt 12.12.2016 12:10 referenzieren, auch wenn die Formulierung dann abhängig vom Antwortzeitpunkt z. B. "Vor 4 Tagen und 6 Stunden" ist.