I was able to successfully install from an 8GB USB flash drive (4GB is not quite big enough, even for i386) created with this procedure:
Create a 10M DOS partition and make it active Create Linux partition using the rest of the drive
mkfs -t vfat <the DOS partition> mkfs <the Linux partition>
liveCD-iso-to-disk <boot.iso> /dev/<USB DOS partition> mount <USB Linux partition> /mnt rsync --progress <CentOS.iso> /mnt/
You can get the boot.iso by loop-mounting the CentOS iso and pulling it out of the /os/i386/images directory, or grab it from one of the mirrors (the mirror links on the CentOS site link directly to the install isos, so you'll have to browse up a few directories and then go back down to find the images directory).
(I replaced the 'cp' command with 'rsync' here because I hate having a copy run for 10 minutes with no progress indication :)