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.