So couldn't you have a content type of 'website'. This could include other types (site-node), files, directories, etc. If a package isn't mounted on a node it wouldn't show up. Each website content item would represent one website, so you might maintain more than one site in one cr. If you could include or link to other content items easily, they could be included by reference (Can you do this now?) But the reference link (content type) would have to include information on when to publish, etc. since that is a property of the parent content item, not necessarily the referenced item. Also the item might, for instance, show up on one site but not another. But I think the key is that the 'website' type would be one way to view the data, not the only way. Obviously there would need to be administrative views as well.
However it ends up working, it shouldn't slow down the operation of the current site-note model (is this going to be cached somewhere?)