I have had an idea about a pokemon randomizer that is similiar to 'Zelda: A Link to the Past' randomizer. It wouldn't be exactly the same, but it would provide a randomized run that would give the user a different experience every run. The randomizers now just shuffle pokemon, trainers, items, etc. I was thinking about adding logic to the randomizer to mix up key items and routing. I was thinking about locking the level of pokemon so that no experience was given. This would be more on strategy and finding all the key items necessary to beat the elite four. The wild pokemon would be semi-randomized with logic changing it to not soft lock you from completing the run.
You start a new game and you get your pokemon. You walk up to Viridian City and walk into the PokeMart. The attendant hands you the HM surf instead of Oak's Parcel??? You walk back down and search around. You finally make it back into your room and look in your PC to find Oak's Parcel... OK. You get your pokedex and start heading back up to Viridian only to find the Old man still blocking your way. You get some pokeballs and search the grass to the west. You find a pokemon that can learn surf and you start heading down to Cinnabar island. The story goes on.
You might find a badge on nugget bridge or get an HM from Pokemon tower. I just don't know if the demand for something like this would be worth doing. It would require a great deal of effort but I have already started laying out the framework if people seem interested.