I know kitsch-bent.com stocks some great buttons amongst other parts and doodads. I'm not too sure about glass screens and replacement shells though since his store is currently down.
If you can't find replacement shells for sale on their own a good alternative could be to find cheap/broken GameBoy Pockets, take them apart wash them. As long as there aren't many deep cuts, with a lil soap and water they'll clean up just fine :~).