The platform and the vendor implementation define a logically cohesive set (it’s still defined by a platform version). If multiple teams share the same instance then they of course must agree on the definition of that instance (e.g. whether or not all of full profile or some subset). If they have different definitions then they of course need different instances.
Nothing today requires all EE venders to implement the full platform (they are free to provide just web). It’s standard practice to specify requirements for software like this (e.g. db version blah, OS version blah), they just need some extra info on the specs they require. If thats a problem, they could always say “full”, or ship a blackbox themselves.
If an operating system has 2216 packages that doesn’t mean you have 2^2216 environments to support. You specify the minimum required environment, and ignore the unrelated aspects. The only thing to be concerned with are material differences. If you require 6 specs, then you only have to worry about multiple differing implementations of those 6 specs. Since the standards are backwards compatible, it's typically implementation concerns and not spec version compliance that leads to multiple implementations in the same product (e.g. a product decides to support myfaces and mojarra).
-Jason