I had a similar problem on my car. right before hte starter died...but the problem was kind of intermittent, and with an expensive starter ($120) i hesitated to try that - what finally got me to change the starter? it got progressivley harder to start, just as you are experienceing, and then it was a nearly no crank. found a loose batt cable, blamed that, but a jump didn't help. let it charge a while, and then got it to start. got home, to check tings over, and when i went to restart the starter screached like nuthin' you never heard! replaced starter, and the first thing i noticed was the engine cranked at about twice the RPM as with the old starter...and the old starter bench tested fine!!

As to heat soak...on a hot day, with ac on or what not, get the car good and hot (long slow drive up a hill...like 45 minutes maybe) and then get it home (!) and let it idle a bit to get things hotter and shut it off. wait 5 minutes (time it takes to pump gas is usually about right) and see if car starts, cranks, or cranks very slowly. if it cranks slow or not at all, try a hevay duty/hi torque starter and a heat shield.