Ian, We can make your proposal simpler by using virtual package names to find the libraries.
Each package that provides a shared library should, for each shared library that it provides, automaticaly add something like "Provides: libX11.so.6" to the control file. Each package that depends on a library should automaticaly add "Depends: libX11.so.6" to the control file. If you want to know about the executable format, you could prepend "elf-i386-" to the library name. Thanks Bruce