The right answer is:
d. for which I have been waiting all my life.
Explanation:
<em>Most adjective clauses begin with a trigger word called a relative pronoun. In this case, it is "which" and there are other four, who, whom, whose and that.</em>
You are right, the prepositional phrase in the sentence <em>Late last night there was a loud knock at the door </em>is D) at the door.
The only preposition in the sentence is <em>at, </em>therefore this has to be correct.