My understanding is that the Spy is selected - at least in part to prevent an empty seat being selected as the spy.
We had Jim Hill tell a story on our show about how he was "chosen" as the rebel spy on a Star Speeder full of himself and a few big wigs. He was under the impression that it wasn't a coincidence.
Oh, we already know how they do that. The CM selects the guest. They do it when they are standing in the center of the room for a moment once everyone is seated (some CM's are more obvious than others). If you notice, they are big on the "don't put on your glasses until we tell you" - because they won't pick you if you are wearing them (and thus ensuring the illusion of the spy pic being from the past).
I think it's great, because you can "bribe" a CM, LOL. Well, not really, but...well, that's a story for another day.
I don't know what signal/control they use that picks the seat, though. At one time I thought it was in the control box in the ride chamber, the one with all the individual guest seat-belt lights (which I've always found cool anyway) but I'm not so sure they don't do it right when they return to the outside station. I think when I saw CM's looking at that for a split second they may have been trying to remember the seat position they wanted to pick for when they went back to the station (everyone was new then). I've definitely seen them tinker with both right before inside and right as the doors are closing outside in ways they didn't before, and it's obviously one of the two.
Anyway, what I was wondering if whenever they do that, if they know what version is going to run (or if they have any control!). I really like how they empowered CM's with the spy thing - it's pretty smart, because not only does it allow for a truly dynamic experience (say, they see someone with a Birthday pin or something), but it also gives them something fun and unique to do each time instead of just having the same experience themselves each time. It may not be a big deal, but little things like that matter when working long shifts.
I also wonder how it works in regards to "random". Is it really *RANDOM*, i.e. the server does a roll each segment and sends whichever segment "wins", either just when the ride loads or on the fly, or are there 54 hard variations (#37 is always Vader/Tatooine/Leia/Coruscant, #14 is Vader/Tatooine/Yoda/Naboo, etc.) that are identifiable. Or if someone in the control room could "pick" what version goes into a certain pod, or knows what configuration is going to play before hand even if they can't affect it.
I'm sure that's TMI for some people and they wouldn't want to know, but those are the questions that fascinate me the most.