I like you, codemonkey, but this made me want to kill myself. If the end result is the same data, it makes no difference how it was chosen.
Regarding the actual topic, I'm considering adding this to PokeGen. At this point, however, development is pretty much dead.