First, HDLC is actually vendor-dependent, and the HDLC implementation from one vendor is not compatible with HDLC implementation from another vendor.
...there is 2^7 possible addresses in 8bits address.
In an 8-bit address, there are 2^8 possible addresses, from
my question is how those addresses are distributed, is there a random
addressing or something live dhcp provided by hdlc?
You seem to be confusing things. DHCP is for layer-3 addressing, but HDLC is a layer-2 protocol. How each vendor assigns addresses is vendor-specific. For example, Cisco HDLC has two addresses:
00001111 for broadcast and unicast, respectively. The Cisco broadcast address only means that the layer-3 protocol has a broadcast address.