Data stored in the PortletSession scope can be shared with portlets inside the same war, but not outside.
When it comes to sharing data, you've got to 'roll your own' and create your own solution.
One way is to use a common, temporary, database table. Use the portletID and clientID to create a unique entry for the user to uniquely identify a client's data. Save client specific information to this table when it comes in, and then read this table when you need it. Any portlet can connect to a
JDBC database.
It's a bit more work, because you're not using the portlet API framework, but you can do it.
Good luck!
-Cameron McKenzie