All of our devices ship with the same BD_ADDR programmed, that is no secret.
The expectation is that customers will obtain a block of addresses for production and program these addresses into their product.
This user figured out how to program a unique value into serial flash: https://community.broadcom.com/thread/2244?q=unique%20serial%20number
You could most likely make a number like this available on the module/end-product, and possibly within the notifications/advertisements sent, but it would not be a standard practice, so you could not always depend on the number being available across all BT peripherals.
I think the BD_ADDR is the best approach.