I created own custom CentOS iso. I used mkisofs make it.
This is part of my isolinux.cfg file:
label vesa
menu label Install ^RAIDIX system
kernel vmlinuz
append initrd=initrd.img xdriver=vesa nomodeset text linux ks=cdrom:/isolinux/ks.cfg
If I specify parameter ks=cdrom:/isolinux/ks.cfg
my iso will boot only from cd or dvd-rom.
If I specify parameter ks=hd:<device>:/ks.cfg
my iso will boot only from usb-drive.
Can I specify ks parameter to boot from both type of installation media?
I'm going to assume that when you say "will only boot from" you mean "will only find my kickstart from". In which case no I don't believe you can specify more than one possible location for the kickstart file (though failing to find the kickstart anaconda should ask you for a new location so you should be able to manually enter the correct location).
What you could do, however, is create a second boot label and use a different ks value in that label and you pick the right label based on where your boot media lives.