Ciao skidx.
Stavo provando la tua soluzione e sembra andare bene

SELECT IF(SUBSTRING(titolo,1, 3) IN ("il ", "lo ", "la ", "le ")
, LTRIM(SUBSTRING(titolo,3)), titolo)
AS titolo FROM cineteca ORDER BY titolo ASC


ho sostituito lo 0 con l'1 nel substring.

Anche io avevo pensato di tagliare la testa al toro inserendo un altro campo come l'hai impostato tu ma non vorrei costringere l'utente a un doppio inserimento.

L'unica cosa non riesco a far funzionare la tua soluzione impostando i vari or.
Adesso riprovo.