1. The only programming benefit of a for loop is that it allows a block-level conditional variable like a counter or a check-boolean that is gone the second the loop is done. Given that variables that are set with /var expire once an alias or event that called it is done anyway, this is probably not a good reason to add for loops. As an easy programming construction it might be nice, but since functionally it is equivalent to a while with explicit variable, it's only syntactic sugar. Nice sugar, but sugar nonetheless.

2. good idea, though you can of course create an function that "fakes" an array, thus having array functionality for now. It'd be slower than a real array, and the syntax wouldn't be like most programming languages, but then again neither are most other functions in mIRC script =)

3. /set already creates persistent global variables, which can be inspected in the variables tab in the script editor. Write your scripts so that it doesn't modify a gloabl variable and viola, you have a constant. If you write your scripts properly, you wouldn't try to modify a constant anyway, so there's no need to add an explicit constant construction, really.

4: Sounds like you want to extend mIRC to a full fledged file manager... this is still and IRC client =)

5. It might make more sense to add a general ONKEYPRESSED event then, and have an event-local $keypressed variable that contains the key, and a $keymodifier that contains the 6-bit numerical value of ctrl/alt/shift combinations used with the key.