I've got some help for you...
1. In the hidesprite script, you have a setflag so that the event doesn't repeat itself, right? Change the person ID of whoever you're hiding to the number of the flag you've set. This also works for making people in a certain area appear or disappear. You could have somebody blocking the road, set their person ID to 801, and when you come back through with the first badge they should be gone! Or, set a flag early on and have people with that person ID. They'll be invisible until you clear the flag.
2. You can edit pallets with APE (Advanced Pallet Editor) but you should be able to just click the little box in unLZ that says "Import Pallet". Be sure you have the boxes "Automatically Fix Pointers" and "Abort if not enough room" checked as well, or you could really screw your ROM. Oh, and the first color in your pallet is always the background color.
3. The problem with the sprites isn't the shading, it's the sprites themselves. They're a little... poorly drawn. The second evo of the fire starter is great, except for where you tried to make his legs crossed. You shouldn've just had him standing with them kind of spread.
Hope this helps, good luck with the hack!