It's very difficult to age them. However, in a given stream, you can come to understand year classes and do pretty good. Especially in the "growth" part of the size distribution, they aren't evenly distributed. There may be a bunch at 4 and 7 inches, but very few at 5 1/2, for instance. What you are seeing is year classes.
This is much easier at the 1 and 2 year classes than older fish, though. Older fish grow more slowly as they approach the max size that stream can support, so the spread between year classes is less. Further, they've had a longer time to vary in growth rate based on that fish's diet, holding water, etc. So they all kinda run together.
And another problem is that every stream is different. You can't take what you learn in one stream and apply it to another. A 3 year old in one stream may be 7", but in another, richer stream, the same age fish can be 12". That's why steelhead, for instance, are so big. They aren't older than stream fish. But they grew up in the lake with a HUGE food supply. They're 18 inches at 1 1/2 years old, and 24 inches at 2 1/2 years!!!
In general, in PA, brook trout typically live 3-4 years. A small % probably make it to 5. I'm sure there have been 6 year olds, but they're EXTREMELY rare. In other areas, max age can vary. For instance, in Labrador, 7 year olds aren't all that uncommon.
At a quick look, the head size compared to body size can give you an indication of the fish's age in comparison with body size. A small head and a big body means the fish grew quickly, and it is young for its size compared to average. A big head and small body is an older fish that either has not grown very quickly, or has reached it's max size for the stream.