Тип byte нужен не для того, чтобы каждый раз экономить на переменной пару байт, написав byte вместо int. Напротив, такой подход грозит неочевидными багами, при том что экономии всё равно не будет — размещение переменной в памяти будет выравнено по 64 бит, а неиспользуемые байты будут забиты нулями.
Предназначение типа byte будет понятнее, если мыслить о нём не как о типе локальной переменной, а как о составной части большей структуры. Возьмём для примера архив ZIP. Любой такой архив начинается с четырёх байт 0x04034b50, а по смещению 14 байт лежит контрольная сумма в CRC-32. Или возьмём к примеру строку в UTF-8. Каждый символ в ней кодируется одним и более байтом. Именно байтом, то есть данными типа byte, а не int и не long.