Short answer: No, there is no native .access
function like you want it. As you correctly mentioned, you would have to define your own function which splits the string and loops/checks over its parts.
Of course, what you always can do (even if its considered bad practice) is to use eval()
.
Like
var s = 'b.b2';
eval('r.' + s); // 99