Ah, yes, the fun of Oracle reserved words, keywords and the distinction between them.
select * from v$reserved_words order by keyword;
ILM seems to be a keyword, but not a reserved word. So it can be used as a non-quoted identifier, but Oracle recommends against it.
I learned something new today. I did not know about ILM.
Perhaps you could add a feature request to make a distinction between keywords and reserved words? I doubt many people know all of them and the error I got is not very clear about it.
By the way, many keywords are not reserved, even though you might think so. The below code, while highly inadvisable, is valid PL/SQL (and doesn't raise the same error in Toad):
DECLARE
TO_CHAR VARCHAR2(10);
BEGIN
TO_CHAR := 'a';
dbms_output.put_line(TO_CHAR);
END;