contrary to ncmpc, which only has a file / directory structure.
You must be talking about a 3 year old version of ncmpc. ncmpc has the same "library" feature as ncmpcpp (and has had it even before ncmcpp was born).
While I don't think having all songs in one plain large list is a good user interface, I believe that the naive algorithm pms uses (i.e. just slurping *everything* at once) is highly inefficient. This can be done better, without caching (caching is the "brute force" approach to that problem). pms is by far the slowest and most wasteful MPD client I have ever measured (
http://thread.gmane.org/gmane.comp.audio.musicpd.devel/1275).