1. Mew (through a glitch) and Mewtwo can be found in RBY and Celebi can be caught by a GS or AR like Yameneko549 said.
2. I suggest you to give your Eevee haircuts and don't let it loose. Or just simply give it 3-4 haircuts and then use a rare candy but not at night, cause it'll evolve into Umbreon then.
3. Lugia can be found in the Up-Right Whirl-island (the closest one to Olivine). You'll need Flash, Surf and Whirlpool. You might want to take a pokemon that can paralyze, burn, freeze, etc. and also a few (5-6) Ultra Balls.
4. For Ash, get a Houndoom (Houndour can be found at the left of Celadon at night), that should take care of Espeon and maybe Venusaur also, though you can use your Typholosion against Venusaur... Against Snorlax, use a Rock/Steel/Fighting type. Blastoise will be though, don't use any grass types against it, since it knows Blizzard; use an electric pokemon instead like Ampharos or any pokemon that knows Thunder, can learn T-Punch, etc. For Charizard, Gyarados will be good, just level it up a bit more... And for Pikachu, I suggest the Fighting/Steel/Rock pokemon you should have against Snorlax. (I used Rhydon with Dynamic Punch, Earth Quake, Rock Slide, Iron Tail)