レスthxです。
おかげさまでずっと疑問だったのが解消しました。
CPUの都合を考慮して2種類規格化してくれただけなんですね。
>>253
これは少し考えていました。
画像ファイルに例えるならばUTF-8=JPEG,UTF-16=BMPで、
JPEGはメモリ上にBMP形式で展開&編集され、最終的にJPEGで再保存される。
JPEG(UTF-8)がデータ交換用としての相互運用性を重視される一方、
BMP(UTF-16)はメモリ上での編集のし易さが重視される。
UTF-16においては、それはLE,BEの許容にあたる。
という認識です。

しかし内部形式って意識されるべきですか?
恥ずかしながらVB以降の言語しか分かりませんが、
通常charの型変換には符号化方式の指定が必要なので気にしたことがありません。
(short)charをファイルにシリアル化するような事があったとしても、
これはテキストと見せかけてバイナリファイルですと言い張るかも。

C言語なんかだと意識するんですか?
UNICODEをAPIで扱うならば内部的にはポインタ/byte[]で持つんですよね?
だとしたら意識しないといけないのかな?

あ、JAVAでもif('A'<=VALUE || VALUE <= 'Z')と書けるのはUTF-16BEだからですか!
無意識に書いてましたorz