Chris,
I was also thinking of a similar project: logging data with a PIC onto a widely available inexpensive removable media. I found some solutions that use CF cards, and also some information how to read/write an SD memory card. You should also consider using these memory cards, if you need more info on these, I can show you the links I found on this subject.
Re: PIC as a USB host (I have only read that it is too much for such a microcontroller)
I have no detailed knowledge of the USB protocol yet, but what I have read about it so far showed me, that the most difficult task of a USB host is the traffic management of the many slaves on the same bus, the device detection, enumeration, error handling, and also the many things a host computer needs to do to handle the many different drivers, etc. I have a strong feeling that if we focus on implementing a USB host that would be interfaced (hard coded) to one particular USB client only, with no other slave units on the bus we could avoid many of these difficult tasks. Using hard-coded set-up and other protocol related USB packet sequences we would need to write intelligent code only for the actual data transfers.
I have ordered a USB analyzer for learning. I am going to use it to record the traffic between a PC and a USB pen drive. I do not know yet how difficult this project would be, but I think it is worth trying it. This solution would certainly not get the USB certification
, but for our needs this would be enough.