回答

エですね。
気をつけるべきところは、
for 期間
before ー ーする前(に、まで)
readは「読む」動作的なニュアンスの動詞
です。
まず、for 期間 を使う時の相性として、完了形はぴったりです。
次に、before (中身が過去形) なので、過去における完了、つまり、過去完了です。
最後に、完了のニュアンスとして、「動作の継続」に当てはまるので、動作のニュアンスが強いreadは、be readingとして進行形にします。
(knowは「知っている」という状態のニュアンスが強いので進行形にすることは滅多にないです)
以上の根拠から、
had been reading の エ になります。

この回答にコメントする
疑問は解決しましたか?