I mean that if its true always that first lower addresses are used and then increment the address to access higher address. Can it be in reverse order?
You haven't specified an exact context. But this can be answered for most typical cases (as e.g. x86):
So, you likely will see allocations in both directions in virtually every program.
This can differ on other architectures.