1)
Why did Shafan read the Sefer in front of the king?
1.
Radak: Chilkiyah told him to do so, so the king will take counsel how to evade the evil as much as possible.
2)
Why didn't Chilkiyah himself read the Sefer in front of the king?
1.
'Rashi' (Divrei ha'Yamim II, 34:15): It is incumbent on the Sofer to read everything in front of the king.