assert と raise とで区別すべきというのは同感(>>967ではボケていてraiseって書いちゃっているけど、965に書いたとおりこの話は基本的にはassertを想定している)。
ビルトイン関数にするかキーワードにするかというのは正直そんなに意識はしていなかったかな。仮にビルトイン関数にするとしても通常の関数とは異なりインタプリタによる特別扱いが必要なら、いっそキーワードにしてしまう方が簡単なような気もするけど、まぁ、どちらでも良いのかなと。
Pytnonの場合、yieldのような前例があるから同じ構文の中の一定の場合だけを特別扱いするということに比較的抵抗がない文化なのかなとも思うけど、assert に関しては文のままでいい(処理系に手を入れてまで関数っぽいインターフェイスを提供する必要はない)というのが現時点までの開発陣の判断ということよね。個人的にはちょっと残念だけど、まぁ仕方ないのかなとは思う。