I know in Slackware there is what's called zipSlack which installs and runs linux off a FAT32 partition.
You also could create a seperate FAT32, or ext2/ext3 partition, copy or download the distro to that partiton, and then when you are running the installation program when it asked where you are installing from you just point it to that location, and as long all of the installation files are there it will work just like you are installing it from a CD. Using Slackware I have done installations like this, and I'd assume that you could acomplish it under any other disto in a similar manner, though I would assume it would have to be done under the text (or advanced) installation instead of the graphical.