Blake C: Can I see the Role(s) the logged in User is a member of from within an Action?
It would be nice but no - there is a roles field in the user table but to save you time, this field does not contain the role information.
Blake C: I have a hack in place that works, but it feels wrong.
I would say nothing is wrong unless you see a performance hit from your hack. Your hack is pretty clever - I may end up using it myself. I had a similar problem with trying to get the role of the user but I ended doing a hack myself - make a tab group for each role and limit user access to the tab groups based on their role. Then you can grab the value from session - User- Tab groups you can figure out from that list which roles they have access to. I'm not sure which is the better hack to be honest.
Another trick is to create a roles2 field in the user table then just manually add their role information, problem is you would have to always maintain this list. I think I prefer your hack for future proofing. My hack still involves a manual step of adding the user to the correct role tab group.
~C