I cannot set an ID in the EEPROM. I just asked beacuse what I need is a unique ID at startup without writing an ID in the EEPROM.
Gotcha. I've had a few situations where I would have liked to have exactly what you're looking for. What I ended up doing was using an analogRead() on an unconnected analog pin and using the result for the seed of a random() call. Do that a few times and you get a couple of fairly random bytes. You can do that on first boot and store it in EEPROM, then on subsequent boots you check to see if there is already an ID in EEPROM.
It isn't exactly what you're looking for but it is about the closest thing I've seen without using external hardware.