The correct option is
A will have reached
Options A and B: 'Will have reached' and 'will reach' are in the future perfect and simple future tense, respectively.
We use the future perfect when the action is completed 'by' a certain point of time in the future.
We use the simple future when the action will take place 'at' a certain point of time in future.
Hence we determine the tense with the help of the words 'by' and 'at'. Since the given sentence has 'by', we're given a hint about the correct tense: the action here will be completed "by 6 o'clock tomorrow", so it's in the future perfect tense 'will have reached'.
Hence A is correct and B is incorrect.
Option C: 'Reaches' is a simple present verb and refers to a daily routine, and does not apply to the future 'tomorrow'. Hence this option is wrong.
Option D: 'Has reached' expresses the present perfect tense (the action has just been completed) whereas the action here will happen in the future 'tomorrow'. Hence this option is wrong.