То, что вы ищете называется
хеш-функцией.
Возьмите первые (или любые) два байта из результата любой хеш-функции от этих данных.
Надеюсь вы понимаете, что мощность множества ваших адресных пар гораздо больше, чем 2**16. Это значит, что неизбежны коллизии.
Вот как получить это число можно однострочником на баше с помощью питона:
py '(lambda a, b: 256 * a + b)(*hashlib.md5(b"any bytes for hashing").digest()[:2])'
Или вот так в командной строке можно захешировать любой текст в два байта:
echo 'any text' | py '(lambda a, b: 256 * a + b)(*hashlib.md5(sys.stdin.read().encode("utf-8")).digest()[:2])'