Okay, with you now.
It's largely as I described, in fact - only instead of randomising the variable names you randomise the array indices.
I'll use your example throughout.
$variables=array("a","b","c");
$index=rand(0,2); //Our random array index.
$$variables[$index];
When $index is 0, for example, then asking for
$$variables[0]
gets you
${"a"}
which evaluates to
$a
and you have your randomly-selected variable.
You can of course continue to use $a, $b, $c ad libertum throughout your script; $$variables[$index] will keep up with any changes.
Hope this is more along the lines of what you want.