It's possible but you should work on how not to have to do this, because as you said, if it's endless, mIRC will simply freeze a lot if you have a large amount of data.
Note also that because you used number as the items, you won't be able to use $ini properly, which would be the way to solve that problem. A solution would be to use something else than just numbers, like I<n> where n is the number, but you have a letter before it, making it not just number, then you would be able to do what you asked with:

alias fixit {
var %a 1
hmake #acpixel
while ($ini(file,#acpixel,%a) != $null) {
hadd #acpixel %a $readini(file,#acpixel,$v1)
inc %a
%a = 1
while ($hget(#acpixel,%a) != $null) {
writeini $qt(file) #acpixel I $+ %a $v1
inc %a
hfree #acpixel
But you shouldn't be doing it like that, use a text file or a @window if you want ordered stuff

Looking for a good help channel about mIRC? Check #mircscripting @