A common trouble with ESL students is using the past perfect to talk about something in the past when sequence of events in the past is not important. The past perfect is used to talk about order of events in the past based on a reference point in the past, and is most commonly used by police, detectives, lawyers, and others who need to know the order of past events. Is it wrong to use the past perfect as you did in your example? No, but it does cause some confusion, as a native speaker might wonder why events were being ordered when the logic of the statement didn't require that. For example, if someone asked you, "What did you do yesterday?" and you answered, "I had gone to work," grammatically-speaking it is not incorrect, but it is using the near present as a reference point which is not natural.
That said, in your example, you used two markers, "today," and "yesterday" which anchor the sentence in time. The sequence of events is then, 1) Today 2) Told my friend 3) Yesterday 4) Read the book 5) My father gave it to me before yesterday. Because you used the marker "yesterday" it is not necessary to say "had" because "yesterday" as a new reference only requires the simple past.
Often for questions about tenses, a better question to ask is "Does this make sense?" For example, the statement "Yesterday, I will die," is not grammatically incorrect, but logically it doesn't make sense.