I think you should stick to Pecoflyer's solution. INDEX and MATCH are, contrary to INDIRECT, non-volatile and thus much better (and also easier to understand).
There are lots of ways to solve this, among many others =OFFSET(A$2,C2;;
Your formula =ADDRESS(MATCH(A2,A:A,0),COLUMN(A1)) could also have been =CELL("address",A2)
Pardon me, but I think your column B approach is an unnecessary complication.
By the way, shouldn't Pecoflyer's formula read: =INDEX(A:A,MATCH(A2,A:A,0)+C2)?
Edit: In the second line in the OFFSET formula there should be 3 commas and an ending parenthesis.