On reflection, it looks like a situation we have ourself.
We built a ticketing system on Magento - whereby there was a "parent" account - with users created within that. So it meant that a single company could have 1 account, with all the invoices and tickets under one master/main account (for auditing); but within that, all the users had their own accounts - they were merely "associated" with this master account.
It only meant adding a couple of variables to the customer to define whether it was a parent/user account, and adding a respective link to the parent account.
Ultimately, it meant that individual users could have their own carts/sessions/profiles - but when a purchase was made, the invoice was tied to the "parent" account - rather than the user account. So it was visible to every user within that parent account.
We'd even extended the functionality to include a 1-many relationship between a user and many parent accounts (so that a user could belong to multiple companies). Beyond that, we even added ACLs to restrict what could and couldn't be viewed.
It turned out to only be around 3 days work - so its possible and fairly easily at that. It just depends on the level of functionality you really need.
Its not really native to Magento - but don't let that put you off. Magento isn't always about native functionality, its about being a platform to grow on; to modify and adjust to suit your needs.