would be interested to know if Puppy can store its sfs files in alternative location to that of vmlinuz and initrd
Yes. I boot Puppy that way.
vmlinuz and initrd boot as a tiny, independent Puppy Linux, with it's own busybox.
In part, what it does is to search the file systems on the drives and partitions, looking for the Puppy .sfs files and for any save files. it mounts the sfs files and savefile and creates an aufs layered file system.
If you don't tell it where to look for the sfs files, it will look on all the drives. If the sfs files are on a hard drive partition, it should find them and copy them to ram and mount them. If the sfs files are only on a usb flash drive, it should find them on the usb drive and copy and mount them.
FossaPup has many options to boot Puppy (added to the kernel boot options.) There is a very helpful help file in the FossaPup iso that explains the Puppy boot options, like pfix and psave and pmedia, etc.
vmlinuz and initrd behaves as one Linux, and the sfs files behaves as another completely different and independent Linux.
pfix=nocopy and pfix=copy should work whether the sfs files are on a hard drive or a usb drive or a cd disc or on a dvd disc.