Not sure if you're looking for something formal, but this is really about when the person's birthday is. "had something to give you" implies the birthday was in the past, "have something to give you" implies present or very near future, and "would have something to give" implies a more distant future.
Incidentally using "bought" at the beginning specifies that the act of buying the book was in the past, as distinct from the timeframe of the birthday. It is more common to say "If I had bought that book". Setting the buying in the past like this makes it incorrect to follow with "it would be" which now speaks to the future tense.
You might hear people mix tenses in everyday speech because they are using expressions like "it would be" out of reflex, rather than using the correct tenses.
Hope that helps.