I did this for my two nephews last year. Found the caps at Walmart--just plain ones. I've also seen them at Target. Someone else found a hat with a huge M on it-for Mickey of course! (Not Michigan!) I got a fabric pen from Hobby Lobby and it was a huge hit.
My nehews are both 12 and would never have stood in line to get a BOOK signed!!! Books are for school-LOL! They also got lots of attention from the characters--some signed the caps while they were wearing them. It was kind of difficult for some to sign the hats, but they were great about it. Be careful which character signs them first---human, I mean, character nature has them wanting to sign it front and center and in BIG letters. You might want to make sure they are a favorite or show them where to sign. (One of my dn had a 'girl' sign their hat first and was a little embarrassed until the cap filled up! LOL! Boys!)