Welcome to the forum, lynk.
Leave a space after punctuation marks.
Use only one question mark at a time.
In the first question. 'you had been here yesterday' is unnatural English. I would have expected 'you got/arrived here yesterday.
B is the most natural answer, but D is possible.
The correct answer to 2.2 is D. In time clauses referring to the future, we use a present tense.