On my usb are grldr, menu.lst and x maps with the kernel and init of each x puppy in it. I just copy kernel and init from the iso's.
On my SSD I have a partition (sda9) with x maps named exactly as the x maps on my usb and containing the main.sfs, and other system .sfs if necessary, of each x puppy. The pupsave(s) for each x puppy are also placed in these directories. I use pupsave.fs, a file; I guess a pupsave directory would be placed in the same place.
I almost forgot: grub4dos installed mbr on the usb.
The menu.lst on the usb has a kernel lines with psubdir and pdev1=sda9 boot parameters as in my example in the second message of this post. You can add it in the menu.lst. First let grub4dos create a draft menu.lst.
I had to make changes in bios to make booting from usb the first boot option.
The mere size of your harddrive may well be the cause of the "long" boots. So I would certainly try if adding the pdev1 boot parameter helps. You can try it at the flash screen.
Btw
I think grub2 will work on your large HDD though and it can boot puppy. You may consider installing it, if it is not on your HDD yet.Puppy bootloaders won't work.