For one, in PA we typically do not use "trout per mile" as a measure. And for good reason. It's a rather useless measure. 1000 trout per mile may be awefully impressive on a 10 ft wide brookie stream but would be a complete joke on a large river the size of the Delaware, for instance.
We use biomass per surface area. It ain't perfect but it's a much better measure. It adjusts for stream size as well as fish size. Then we categorize them as class A, B, C, or D based on biomass.
Anyway, PA rarely gives you the actual population in a number figure. The exception to that rule is "wilderness" trout streams, where they usually do list the population in kg/hectare for a given stream. That list, with a map, is found here:
http://fishandboat.com/wild98.htm
Being on the wilderness list does not really mean anything in terms of fish population, it's just publicly accessible and far from roads that the PFBC wants to highlight as "wilderness" type experiences. We do list class A streams, which are generally our best. That list is found here, and can be mapped as well.
http://fishandboat.com/classa.pdf
They also have a "streams with natural reproduction list", which lists all class A, B, C, and D streams, found here:
http://fishandboat.com/trout_repro.pdf
From that, if a stream is on the natural reproduction list but not the class A, then it has wild trout but is not class A. There is currently no publicized way to determine whether it is B, C, or D. The PFBC office does have this data, by county or region, and it is generally available by asking your local office.
As for what exactly class A means? Well:
Brook trout: Brook trout biomass at least 30 kg/ha, brook trout < 5.9" at least 0.1 kg/ha (meaning young fish are present, and brook trout make up at least 75% of the biomass.
Brown trout: Brown trout biomass at least 40 kg/ha, brown trout