So the word "for" is implied when time duration is stated in German? Or what am I missing?
It is not necessary. Implied is that you read neunzig Minuten lang.
Why not: I have been reading for ninety minutes?
That's present perfect continuous, a different time tense. The sentence in the question is about how long the person habitually reads and is in simple present.