I'm not sure, I think it might be possible to trade between Crystal and Emerald, and then trade to Leaf Green or Fire Red
To get the rest of the Johto Pokemon, like Cyndaquil, Totodile, and Chikorita, you can do one of three things:
1) Complete the Hoenn Pokedex in Pokemon Emerald. Professor Birch will give you one of the three Johto starters.
2) Beat the final boss in Pokemon Coloseum. Then purify the Bayleef, Quilava, and Croconaw and trade them to your game. To get the first forms, just breed them at the Four Island Daycare Center with a Ditto.
3) Beat all 100 trainers on Mt. Battle in Pokemon XD: Gale of Darkness. Beat them once, and you can get one of the starters. Twice, for the second, and the third time for the other one.
For other Johto Pokemon, you can get them:
1) After beating Pokemon Coloseum. Purify them and trade them to your game. These Pokemon include Noctowl, Houndoom, Gligar, etc.
2) In the extra area of the Safari Zone that opens up after beating the Pokemon League in Pokemon Emerald. They are all there.
3) Some of these Pokemon appear in the Altering Cave. To get different Pokemon besides Zubat appearing, you need to trigger a series of unkown events.
The only Pokemon you will need an Action Replay are:
*Jirachi can be traded to your Pokemon Ruby, Sapphire, or Emerald game via the Pokemon Coloseum Bonus Disc.
**Deoxys can be acquired through a Nintendo endorsed event such as Pokemon Rocks America
Some other Pokemon you may have trouble getting would be:
Ho-oh is acquired after catching and purifying all 48 Shadow Pokemon in Pokemon Coloseum
Lugia can be acquired from the final boss in Pokemon XD: Gale of Darkness. To purify him, all chambers in the Purifying Chamber must have full tempo (or something like that).
***Sorry that I haven't been answering lately, as I have been quite busy ***