My taco did that for a while. I cleaned the battery posts really well, threw some grease on them, and the made sure the starter contacts were good. Been running good ever since with no problems.
I put new battery connectors on it, along with a new battery. It got a little better, but not much. I am almost positive I need new contacts, sometimes I sit there clicking it over and over countless times, wondering how I am going to get the truck home and then it finally starts. But the wierd thing is that when the weather is sunny and hot out it only takes a few clicks, and then when it snows it takes hundreds of clicks.