Take a Chikorita. It can not learn STAB moves, and cannot evolve unless it soloes Bugsy's cocoons.
Scyther named "Ninjakilla" (catch or trade as an egg after whitney) it must always use agility before it can attack. If you choose to evolve it Scizor must replace agility with swords dance (and use as above) and solo your rivals starter once.
Take a Butterfree, and name it Freebutter. It must fulfill THREE of the following conditions BEFORE the E4.
1. Solo Whitney's Clefairy without items, switching, or soft resetting
2. Solo Morty's Lv. 23 Haunter without items, switching, or soft resetting
3. Never learn the move Sleep Powder
4. Solo two Rocket Executives
5. Solo one of Clair's Pokemon that is NOT Kingdra.
After the E4, it must fulfill TWO of the following conditions:
1. Solo one of Red's Pokemon without items, switching, or soft resetting
2. Solo a Gym Leader in Kanto without switching
3. Reach level 75
Get a Staryu. Evolve it whenever. Give it a moveset of Surf, Thunderbolt, Ice Beam (Thunder and Blizzard if you're too lazy to play for coins) and Water Gun. Until you reach the E4, it may only use Water Gun in battle. Name it DerpyStar.
you get the Spearow from the dude in Goldenrod has (The gateway between Route 35 & Goldenrod). It must know & keep Mirror Move & Substitute. It must have these two moves before your battle with Morty.
Take a Gastly named Casper. Casper the Friendly Ghost is this Casper's role model. The original Casper doesn't like scaring people, and neither does this one. It refuses to learn any and all Ghost-type moves. However, as a being of energy, this Casper must learn both Energy Ball and Focus Blast. In order to evolve from Gastly, your Casper is forced to go through Scare School. It must learn Mean Look, use it exactly once, and delete/replace it immediately after the battle to evolve. Haunter may evolve at any time.