Which 9 speed Shimano Cassette should I get?
You can use a crankset thats market for 8 speed with a 9 speed group. Im assuming the 8 speed 105 cranks are already on the bike so thats one job done.
Personal preference. Hilly means different things to different people. Note the derailleur will provide some constraints due to its chain capacity and maximum cog size. But for hills, you want lower gearing (larger cogs). 


Go to your local bike shop and see what they sell the most for commuters in the area.