It's a bit "muddy" as a subject.
I think they've changed their numbering conventions as time went along.

For a guide to all Microchip suffix' there is a table in this extremely HUGE file.
Microchip Product Selector Guide
http://ww1.microchip.com/downloads/e...Doc/00148M.pdf
Page 122

While the -04 does specify DC-4Mhz ....
The -I/P means it's (I) "Industrial Temperature range" in a (P) "Plastic DIP" package. Frequency is not specified in the part number. In which case the datasheet takes precedence.

And the datasheet for a 16F877A shows that it's DC-20Mhz

Clear as ... well, you know.