It's a good question, one that seems to raise its head every time the issue of accessing multiple brains is discussed. For example, see here.
I guess the bottom line is whether the convenience of being able to search across multiple brains is worth the additional overhead of keeping all these brains indexed and chewing up CPU cycles which slow down everything else. I don't know the answer to that one.
TreePad X Enterprise can keep up to 8 databases open simultaneously (tabbing between them), but as far as I know can only conduct searches in the currently open database. Its developers haven't taken this feature any further and maybe that's a good thing.
If we could have several Brains open concurrently, there's no reason why the same search term could not be applied first to the currently open Brain, then "behind the scenes" to the other brains, so that when the user tabbed to the next brain, the results would already be displayed. This would solve the problems of dealing with huge numbers of unneeded results from every open Brain clogging up one results box, and the need to display from which Brain the result came. Same with Reports. One might expect that with several Brains open, there would be many more instances of duplicate thought names.
Additionally, this would mean a fast search in the currently open Brain instead of waiting for search to complete across all open Brains.
At the end of it the user should be able to save the cumulative results of all searches somewhere, say in a special multi-brain Selection Box. Right now we can't even save the results of one Instant Search in it.
If we confine ourselves to one's own set of local brains, a simple alternative is to merge them into one large brain but then keep them as separate as possible inside it. Apart from increasing the number of types and tags which have to be managed, the other downside of this is that trying to hide sections of a brain by using Reports as a filter has turned out to be a very low-powered, temporary fix IMO which just ties up Reports. What we need is proper hiding, and the best way to implement this would be to enable tags to hide the thoughts to which they are attached.