The correct option is B shall have read
In order to discern the correct tense to be used in any sentence, we have to keep in mind two things - one, if the options provided make grammatical sense within the framework of the given sentence; and two whether the secondary action in the sentence has completed or is in the process of unfolding WITHIN the relevant timeframe. In this case, we see that the reading will have completed after the return of listener, ruling out the past tense Option A), and Options C) and D) do not grammatically agree with the rest of the sentence as the action is not complete. This leaves us with Option B) - the correct answer, and of the future perfect form - which is obtained by adding 'will or shall have/has' (depending on singular or plural subject)' to the past participle of the verb. The verb in question is 'to read'; for which the past participle is 'finished'. Applying the above, we clearly get 'will have read', which is the correct answer.