I'm not sure if this post belongs here or not, so please correct me if I'm wrong.
I ran into this recently and discovered that there was one guy who did research on this and even released an online tool to calculate which of the 8 variants you would get - http://www.pokebeach.com/forums/threads/i-need-some-help-for-a-d-p-avatar-calculator.15718/ - but it is not defunct, and he never published his equations anywhere. If I can get maybe two or three dozen ID numbers + genders + what option you have, I can likely figure out what the equation is and a make a replacement tool for this.
In Diamond/Pearl/Platinum, you just need to talk to the psychic dude in the pokemon center in Oreburgh City, and in HeartGold and SoulSilver, you need to talk to a dude near the top left of the pokemon center in Violet City.
I've heard that the calculations are different for games from different countries, for now I just want to focus on U.S. games, but if I can get a lot of samples for other country games, I'd be up for figuring those out too.
Also, I will probably make a seperate post later, but I have been wanting to ask - for each generation, what are all the different things that your ID number is used for by the game?
I know in R/S/E, it is used for the dude in the Mauville pokemon center, and your secret base trainer type (https://bulbapedia.bulbagarden.net/wiki/Old_guys and https://bulbapedia.bulbagarden.net/wiki/Secret_Base#Representative_Trainer_Class). But, what is everything else in all the other games?