Никто не мешает пользоваться в С готовыми битовыми структурами, а в C++ дополнительно еще и битовыми массивами.
А в других языках, например, в Pascal, это легко реализуется собственными функциями, хотя и не столь оптимально.
Это невыгодно потому, что в аккумулятор этих байт можно загрузить минимум 4, а то и 8. При работе с упакованными байт-массивами приходится извращаться с кучей команд-масок и прочими прелестями, чтобы и с байтом поработать, и соседние байты не покоцать.
А ты написал полнейший бред.
Байт это минимальная единица информации с которой работает компьютер. То, что ты предлагаешь, можно сделать искусственно, но лучше не будет, небольшой излишек памяти лучше чем потеря производительности.