「he had had…」のように「had」が続けて使用されている文を見かけることがありますが、これは正しいですか?

はい、正しいです。「Have」の動詞を使用した過去完了形になります。最初の「had」は過去形であり、続く「had(haveの過去分詞)」が完了形になります。過去完了形は、一つの文に二つの過去の出来事を表す節がある場合に、先に起こった節に使用されます。

He had had a meeting before he left for the airport.

彼は、空港に出発する前に会議があった。

言いづらい為、他の動詞が使用できる場面では「had」以外の動詞を使用することが推奨されます。上記の文の場合、「had(あった)」の代わりに、「attended(出席した)」を使用する方が良いです。

He had attended a meeting before he left for the airport.

彼は、空港に出発する前に会議に出席した。

難易度:7/10
関連リンク:「Drink」の過去分詞は「drunken」?

「〜前に」と表現する「ago」と「before」の違いは、何ですか?

①「Ago」を使用する場合、軸(いつから見て)は今(現時点)になります。従って、以下のように期間(どれくらい前のこと)を示すだけで、軸を示す必要はありません。

Five minutes ago = (今から)5分前

I started studying English four years ago.

私は、(今から)4年前に英語を勉強し始めた。

②「Before」の場合、期間(どれくらい前のこと)と軸(いつから見て、何から)の両方を示す必要があります。

Five minutes before the test = テストの5分前

※上記のように「before」の後に、軸を示す必要があります。

難易度:6/10
関連リンク:「久しぶり」とは何という?