For bundle stuff, xxx.app in Mac OS X is what you want. Basically it is a folder. But Apple encapsulate it as a package, and open it in a way like opening a package. RW disk image is similar to your bundle concept too.
Bundles are a very useful things, but all they do is giving additional semantics to a traditional hierarchical container. It doesn't solve the problem I was referring to (which is about multiple simultaneous ways of organising files).
But, current computer is optimised for such hierarchical way to organise files. Teaching computer to think and store info similar to human still has a long way to go.
Why would you think that? BTW, what I was describing is miles away from making computer think as humans. Non-hierarchical data storage has existed for decades and decades. Look for example at relational databases.
But what if you see individual element? How would you find the exact location of that element? We need clues to find it. And most of the time, multiple clues may be able to pinpoint that element. We treat that element as the "root", then all clues lie in a certain hierarchy level, or a "tree".
There is no doubt that hierarchy is a very powerful abstraction. Ultimately, it deals with groups and relations between the groups. The particular model hierarchal FS adopt is that of a meronymy. However, meronymy (part-whole-relationship) is not sufficient to represent many very relevant situations. We don't need to go far. The problem is well known in any area where organisation and quick access to data is needed.
Let us for example look how a library organises books — and I am talking here about proper, big libraries, not a generic small town library. Imagine you have a very large amount of books that you want to organise. If we are limited to tree structures only, we have a problem. We could for instance sort the books according to the author's name (e.g. have a folder hierarchy of name prefixes, ending in folders containing works by the same author) or year or both. However, some books have multiple authors. How do you handle those? Or what about if you also want to organise books according to the general topic or some keywords? The way how libraries were dealing with this is to introduce indexes — basically cabinets with cards, where different cabinets were organised around different piece of metadata and cards pointing to the actual book. Books themselves are usually not sorted by any obvious means, but rather by their location in the storage (e.g. row/shelf/position etc.). Library indexes are a radical departure from a standard hierarchy. Instead, you have multiple hierarchies, which are populated by the same items. You find things by consulting the hierarchy that is relevant to your needs or cross-referencing different hierarchies. If course, nowadays nobody is really using the paper indexes anymore in the libraries, instead they use a (relational) database.
Now, modern OSes have introduces many features to deal with this inefficiency of the hierarchical FS. We have Spotlight, which basically creates a 'shadow' FS by maintaining a database of indexes, very similar of that of a library index. We also have tags, which allow us to introduce groups that cross the hierarchy. We also have custom add-on indexes as ones employed by apps like iTunes or Photos. However, all this stuff is still quite rudimentary and does not remedy the underlaying problem: the fact that the files are artificially forced into a hierarchy.
I work with large data collections every day. Hierarchies might be sufficient for very simple data collections, but they are not nearly good enough for real world data organisation (as the library indexes illustrate). Take my previous example with different files referring to the same resource. The real problem is not just that its quite easy to damage the integrity of the collection, but also that the different files have different usage policies. Video and audio data are subject to privacy policy and only accessible to a handful of people. Other files can be accessed more liberally. Also, the backup policy on different types of data is different. Different files can be in different processing states and so on. Right now, we are dealing with it by having an in-house developed data management system that links together archives in different locations as well a versioned repository, and automatically creates bunch of hard links to provide different views onto the data. Its unwieldy, complex, and difficult to maintain. Now, if we had a FS that would allow us to simultaneously group files in different hierarchies, most of that would not be necessary.
Another example: my dissertation consists of a hierarchy of files, organised by chapters. Within every chapter are multimarkdown files as well as LaTeX files with figures and so on. I have a fairly complex build script that processes these files, assembles them together and runs the typesetting routine. However, the problem is that different files need to be processed quite differently. Having multiple hierarchies (chapters, figure/text/code) or even anonymous containers (same section etc.) would simplify the handling of the data dramatically and at the same time be more close to how the data is organised conceptually.
But I believe current hierarchically designed filesystem is the best we can get. And the problem you mention is already solved.
Hierarchical FS are 'good enough'. They are powerful while remaining relatively simple (and even then, implementing a FS is a task of insane complexity). We have different tools to deal with the shortcomings of hierarchies, but I am fairly confident that hierarchical abstraction will be abandoned sooner or later. As you may have guessed, personally, I find it quite limiting. I can work with it, but its neither accurate nor convenient.