In the example I used above, you could mix and match easily, choosing php, php-mysql5, and php-pgsql (for core linked pgsql) just by choosing those packages. That's not too hard. I assumed since this is the devel list, and since this thread was referring to php, that particular package layout would be understood. Not every package links in this manner though, so yes, it could get confusing for packages that don't (although the more distinct libraries a package links to, the more likely it is to compartmentalize them).
To nit-pick your example: This isn't hard on the user side. On the builder side however, this requires amazing amounts of work, including multiple builds per arch based on linking package-sets, and multiple copies of repositories to build against. There is not really a nice way to automate a build of this style and the reward is not worth the effort. Even for php, which does separate out and would be 'simple' it is still a very complex process on the back end.