I believe the reason that "blocknumber" (aka Height) is not used as an identifier is explained by this:
Since multiple blocks can have the same height during a block chain fork, block height should not be used as a globally unique identifier. Instead, blocks are usually referenced by the hash of their header (often with the byte order reversed, and in hexadecimal).
So, as stated, the unique identifier for a given block is the hash of the header.