1. In my opinion mid-spring for example in May is good time, because cities like Shiraz and Isfahan are very crowded in Summer and beginning of the Spring (Eid Nowruz) and many Iranian tourists visits these cities in Summer and beginning of the spring.
2. Depends to you, Are you going to travel to Shiraz with a tour? with airplane or with train or bus or your personal vehicle?
Cost of a 3 days tour to Shiraz from Tehran with air travel and accommodation in a 5 star hotel is around 350,000 to 400,000 Tomans. 1 USD equals around 1750 Tomans in free market and 1226 Tomans in banks. So you can travel to Shiraz with less cost too.