The SAS function FIPNAME will create an uppercase value of the state name from a 2-digit FIPS code,
The FIPNAMEL will create mixed case state name from 2-digit FIPS code.
FIPSTATE function will return a two letter state abbreviation from a 2-digit FIPS code.
Examples from the documentation:
So a data step and one of the above functions will likely add a text value to use that new variable on the BY statement.
Or create a format for the existing STATE variable that shows the desired text for the value of State. Then associate that format with teh variable in the Procedure. The By line in the proc output will by default show Variablename = Formatted Value.