I had just gotten a new body pillow, and was going to throw out my old one when my 4 year old asked me if he could have it. I didn't see why not at the time and gladly handed it over. He's had a blast with it. Not only does he use it for sleeping, he uses it to read on the floor, and uses it to cuddle with while watching a movie or tv.
It is big for him, but he doesn't seem to mind and it does comfort him at night.
My advice is to look at either a Target or Wal Mart, they should have them pretty reasonable. You can either find them by the pillows, or they have more "kiddy" ones near the children's bedding. If you can't find them now, wait until back to school and they are usually out on an endcap.
Good luck!
Kel