In dieser Situation ist "In 2 Stunden hole ich dich ab" richtig.
Ich versuche zu erklären. Der zweite Satz ist abgeschlossene Vergangenheit. Es setzt also voraus, dass du die Person bereits abgeholt hast, und nicht, dass du es erst tun wirst. Man könnte den Satz erweitern, zum Beispiel: "In 2 Stunden habe ich dich abgeholt (und dann sitzen wir wieder zuhause)." Oder auch "In 2 Stunden werde ich dich abgeholt haben". Das sagt so aber keiner.