To acces the variable all 3 of these are the same, the second two are redundent sicne your hardcoding BOB into it.
%variable.Bob
%variable. [ $+ [ Bob ] ]
$eval($+(%,variable.,Bob),2)
if your not hard coding BOB into it, let say your passing it as $1 you can use
%variable. [ $+ [ $1 ] ]
$eval($+(%,variable.,$1),2)
Heres some things to note.
Blue works & Red DOES NOT
set %variable. [ $+ [ $1 ] ] BLAH
echo -a %variable. [ $+ [ $1 ] ]
set %variable. $+ $1 BLAH
echo -a %variable. $+ $1
set $+(%,variable.,$1) BLAH
echo -a $+(%,variable.,$1)
set $eval($+(%,variable.,$1),2) BLAH
echo -a $eval($+(%,variable.,$1),2)
$1 could have been a %variablename also, ex %frog etc!