I worked on embedded code in the early 2000s using 16-bit DSPs. Texas Instruments C54x if I remember right.
Not being byte-addressable was a real pain. There was a C compiler, but off-the-shelf C code hardly ever worked properly because everyone assumes CHAR_BIT is 8.
The one I worked with had a C compiler as well, though it was K&R and not ANSI. The instruction set supported operations on 8-bit values by op codes which selected the lower or higher 8 bits of a word, so the compiler itself worked transparently as you would expect (the architecture was big endian so that had to be taken into account sometimes, but that's true of byte-addressable systems too).
Not being byte-addressable was a real pain. There was a C compiler, but off-the-shelf C code hardly ever worked properly because everyone assumes CHAR_BIT is 8.