Resolution
PortletSession values should be scoped on a portlet and user basis.
For example, you can see how the Web Form portlet stores data by looking at the saveDatabase method in WebFormPortlet.java. Follow that to a ServiceImpl file (ExpandoValueLocalServiceImpl.java, in this case) and you will see how persistence classes are used to store values in the database.
final PortletSession psession = request.getPortletSession();
psession.setAttribute(key, value, PortletSession.APPLICATION_SCOPE);
// READ
psession.getAttribute(key, PortletSession.APPLICATION_SCOPE);
Use a prefix LIFERAY_SHARED_ for your key, so your variable will be available for all the portlets (those which share their session with the other and those which not).
If you need to get the resource from the portal, use HttpSession and not PortletSession anymore.