That's not right. There is no need to store text body in order to index it. Furthermore, you can implement an index of token hashes, rather than an index of tokens.
It would remove a lot of nice search features, however. If you just index tokens without positional information, you have a much harder time performing phrase matching. If you include positional information, you can probably crack the encryption because some tokens are statistically more likely to appear next to each other than others.
If you index shingles (phrase chunks) instead, you lose out on sloppy phrases...you can only match exact phrases. I imagine you can perform a similar statistical attack too.
Hell, just getting the term dictionary would probably allow you to reverse engineer the tokens, since written language follows a very predictable power law.
Hashing also removes the ability to highlight search results, which significantly degrades search functionality for an end user.
Basically, yes, you can do search with encrypted tokens...but it will be a very poor search experience.
It's configurable for paid accounts, and can be set as low as one day. However, one of the best features of slack (and products like slack) is message history and search. Otherwise, IRC isn't all that different (WRT messaging).