MAC Address
I have not done an Ethernet board, so I don’t have detailed answers.
The STM device I’m using has a “One-time Programmable” section of Flash, which could probably be used to store a factory programmed MAC for the life of the device.
How to do that will depend on what interfaces you have available. If your board supports a Bootloader, consider using a separate RAM based firmware to program the OTP.