В Puppy HDD можно не вынимать. Можно загрузиться с того Puppy, который грузится, кликнуть на iso-образ другого Puppy и смонтировать его, скопировать три файла из этого образа: vmliuz, initrd.gz и *.sfs в каталог, созданный в корне жёсткого диска на компьютере и назвать этот каталог, как версию Puppy. Если на диске уже установлен grub, то в menu.lst указать ему путь к vmliuz и initrd.gz по аналогии с существующими записями. Если загрузчик не установлен - не знаю уровня Ваших знаний - или установите загрузчик или установите ту версию puppy на диск, которая грузится с помощью универсального установщика, установите grub или grub4dos и настройте загрузку сначала этого дистрибутива, затем пропишите в menu.lst строки для другой версии и выберите её для загрузки при старте.
Если на жёстком диске уже установлена одна версия Puppy, то другие версии можно добавлять просто копированием трёх файлов в отведённый для них каталог и созданием соответствующей записи в menu.lst.