I don't know anything about XCIs or NSPs, but I've personally been looking in to different ways of having the Switch "talk" to things over USB for Nx-USB. However, somehow getting the Switch to be able to act as a computer to talk to a USB drive is not just difficult, it is more difficult than having the Switch act as a device to talk to another computer. Here's just some of the different things going on with that:
1) Nintendo, in there infinite wisdom, included a pretty nice set of low-level commands for using the Switch as a USB device, and a *very* nice set of commands for using controllers/keyboards/etc over USB, and a single, general, difficult to use command set for doing *anything else* USB related.
2) None of the current toolchains even including bindings for the commands Nintendo does have, so any new implementation would involve going all the way to the Operating System and patching the toolchains.
3) After *that* is finally done, we only gained the ability to talk byte-by-byte to a USB device using the Switch as a host; we still need to implement the (pretty long and complicated) SCSI protocol on top so that we can talk to USB *drives*, specifically.
4) After *that* is done, we still need to find/port drivers for ALL the different file systems that we want to talk to; yes, even FAT32.
5) Finally, this will give us the ability to add in USB support to something like NX-Shell; for something like loading support we'd then need to implement this as a kernel module AND including custom kernel code to allow for a more arbitrary LayerFS-like system.
In short, probably not happening for a while at least.