you can use GTTs, they can be made session specific. However, you might pay a performance penalty if you over index them and if this is RAC, never ever try to truncate them. They will do all you want. GTTs are a good thing when used in moderation.
OTOH, if the data is small (i.e. few rows) have you considered using sys_context? Tom (of askTom fame) has a bunch of examples of using sys_context especially when he shows VPD.