If using a database were how easy? I never claimed it was as easy as a hash table (for someone as godly as you it should be), but if you're looking for more complex features you need to do more complex work.
In a hash table of size 10 hash(key) % 10 is used to find the bucket then iterated through with a comparison on key to find the value. If your ID is not they key it destroys all efficiency in the lookup method.
You gave some reasons to use an ID, but no reason why you can't do it yourself.
[address.index]
address1=1
address2=2
[names]
1=bob
2=fred
How hard is this that mIRC needs to implement it instead of the user? The user can create this index when needed (super easy) and mIRC does not need to add extra switches to implement optional internal index tables that may cause complications in saving/loading tables.