El pokemon tiene su id y sid, y segun se, su pid (numero de identificacion de todo pokemon) tiene relacion con el Id y el Sid del entrenador, al menos en esta 5° generacion.
Segun se, se puede abusar del RNG para tener un id y sid deseados, al menos en Ruby y Zafiro, y Diamante Perla Platino, Heart Gold y Soul Silver. En esta ultima gen no tiene sentido hacerlo, ya que es mas facil obtener pokemon shinys, que dependen de los numeros id y sid.
Puede salir cualquier numero, si es aleatorio, claro, pero ese azar es producido por un programa, el RNG, y se puede predecir.
Y como dijo Pajaro, puedes simplemente modificar tu partida cambiando el numero con un programa externo como el pokesave entre otros.