You are misunderstanding both spiders and sessions here...
Spiders are simply another user-agent, a different kind of browser ( just like Internet Explorer, Netscape, etc. ) that is browsing your website systematically.
Anything that a normal internet user, a normal user-agent like IE or Netscape can do, a Spider can do as well. Anything a normal user-agent CANNOT do, a Spider CANNOT do. They are the same damn thing.
For sessions, the user-agent DOES NOT EVER generate a session ID, or at least it shouldnt' be doing this. You are generating the session IDs and sending them to the user-agent, which is simply propogating the session ID everytime they visit a page.
If you're using cookies to propagate session IDs, the spider will most likely NOT propagate the ID, and most likely your app will assign a new ID to it everytime it visits a page. Spiders do not ( or at least not that I've seen, although I'm sure you could build one that did so if youw anted ) login to anything.
If you're propagating the session IDs through URLs, the spider most likely will not follow your URLs, because spiders tend to avoid following URLs with query strings, for several reasons. One, theres no way to tell that tehse two pages are the same page:
page.php?SESSIONID=52
page.php?SESSIONID=64
And two, because dynamically generated pages tend to change a lot, too much to keep the index updated, as someone pointed out above.
It is possible for ANY user-agent ( not just a spider, but Internet Explorer, Netscape, etc. ) to steal another users session ID. That's why its important to have time-outs on session IDs, and important that they are random. The only time this would happen is if the random number generated was the same as someon eelses, very unlikely if you're doing it correctly.