sì, è fattibile, però un po' pesantuccio perché dovrebbe applicare quella funzione a tutta la tabella anche solo per restituirti i primi 5, visto che nell'indice li tiene ordinati contando il testo dall'inizio.

Più performante sarebbe salvare su un altro campo il titolo per l'ordinamento, tipo
collezionista di ossa, il

In ogni modo se vuoi procedere con la prima ipotesi, la prima sintassi che mi viene in mente è usando IF e SUBSTRING, qualcosa tipo

SELECT IF(SUBSTRING(titolo,0, 3) IN ('il ', 'lo ', 'la ', 'le ') OR SUBSTRING(titolo,0, 4) IN ('gli ', ......), LTRIM(SUBSTRING(titolo,3)), titolo) AS titolo FROM tabella ORDER BY titolo ASC

completando ovviamente l'if con tutta la tua casistica