If you have need of a peripheral, see if you can get a unique number from that.
I have a small weather device that I used a DS18S20 temerature sensor part on, and it's 1-wire address is perfect for providing a serial number on the fly for the entire unit. Hey, if you gotta have the part anyway, choose it wisely!
The only caveat is if you change that part... I've had 2 units where I had to change that part. One shorted out and the other was physically broken off the unit. (It sticks out to have the best response time to temperature changes.) I had to make allowances in my tracking software to be able to change that number 'on the fly' for repairs.
Mike