Você pode criar um índice em um campo que é limitado pelo comprimento do prefixo, o que significa que apenas os primeiros n caracteres serão considerados, mas você não pode fazer isso com uma posição inicial e final arbitrária. Leia mais sobre isso em CREATE INDEX do mysql página de documentação.
Neste caso, eu apenas faria outra coluna, usaria o do mysql INVERSO função para preenchê-lo e criar um índice nele, dessa forma você obtém um campo para pesquisar o reverso da palavra original.
Outros bancos de dados, como o Postgresql, permitem indexar uma expressão , que efetivamente permitiria indexar
reverse(col_name)
sem criar a coluna extra. Então é possível, mas não com o mysql agora. (desde a versão 9 potgresql tem reverse() nativo eu acredito)