Для случая ББ, думаю, смотреть в сторону UTF-16, на базе CHAR.

Но вводить его всюду как-то... Только местами, но как?
Если всюду - то об индексируемости можно забыть, это влияет на ряд библиотечных алгоритмов.

Как вариант - для выводов на экран и проч., местно.

Есть ещё одна сырая мысль:
- в КП всегда известен конец массива. В отличие от Цы. Т.е. формат 0-завершённой строки можно дополнить для каких-то библиотек, если нужно, соглашением, что в конце массива лежит что-то служебное. Например, маркер того, что строка не UCS2, а UTF-16.