Please describe a situation where its not possible and one where its not meaningful. I don't see it at all. If you are talking about sharing code among objects, you can do this with a DLL/shared lib.
For an example, Thomas got his flext externals working this way in Pd-extended: each object is its own file, but flext is a shared lib.
Not sure if i'm the best example for splitting of external libraries into single externals. In my own externals i often opted for packing externals into libaries because i can optimize across externals using C++ and inline functions. See xsample for reference. It would be pretty difficult to get the same performance in the same compact amount of maintainable code with C and split external objects. I'm sure that everything _can_ in principle be realized in separate externals, but i still don't see the reason why it should be.
best greetings, Thomas