I finished the work in two hours before I got the call from you.
電話を貰う前の2時間の間の何処かでinを挟む事は正しいですか?
I was punching him for two hours before I got the call from you.
電話を貰う前の2時間続けてでforを挟む事はできますか?
I finished the work some time within two hours before I got the call from you.
I was punching him for two hours before I got the call from you.
この場合は some time within two hours「2時間以内のある時点」 のような言い方をすると良いですよ。
ーI finished the work some time within two hours before I got the call from you.
「私はあなたから電話をもらう前、2時間以内のある時点で仕事を終えた」
または次のような言い方もできます。
ーI finished the work some time in the last couple hours before you called me.
「あなたが電話をする前の2時間のある時点で仕事を終えた」
some time in the last couple hours という言い方もできます。
ーI was punching him for two hours before I got the call from you.
「あなたが電話をかけてくる前の2時間、私は彼をパンチを食らわせていた」
この場合は for two hours「2時間」を使って言えます。
ご参考まで!
・Somewhere in the two hours...
「2時間の間のどこかで」と言いたい場合、in を使うのは正解です。in two hours は「2時間以内に(完了する)」や「2時間という枠の中で」という意味になります。さらに somewhere を加えると「その間のどこかのタイミングで」というニュアンスが強調されます。
・For two hours (straight)...
「2時間続けて」と言いたい場合は for を使います。for two hours は「2時間の間ずっと」という継続を表します。さらに「続けて、ぶっ続けで」というニュアンスを強めたい時は straight や continuously を添えると、より正確に伝わります。