plan 9 supports utf16. that is codpoints u+0000 — u+fffff. there is no support for 32bit characters. to support larger characters, the starting point would be changing Rune from ushort to ulong and changing constants like UTFmax and fixing chartorune and runetochar. (and finding all the places that assume that UTFmax really is 3.)
it's all very doable, but it would be a very invasive change. - erik