Why is there a finite amount of bitcoin addresses and how is the range of possible addresses determined

My first question is what the precise logical/theoretical reason is that there are only a fixed amount of possible bitcoin addresses. Secondly, I can generate a bitcoin address by using address(sha256("Passphrase")). If it is even possible to determine, what would be the "Passphrase" in order to calculate the first and last possible address? Is for example address(sha256(0)) the first address?

I am trying to understand how the "range" of possible addresses works or how it is bounded.

Article source: “https://bitcoin.stackexchange.com/questions/84471/why-is-there-a-finite-amount-of-bitcoin-addresses-and-how-is-the-range-of-possib”