Both nicks will result in the same vhost because certain characters are valid for nicknames, but not for hosts... originally this module didn't even set vhosts for that kinda nicknames..
Both an MD5 and a random number leave the possibility of two people getting the same host..
As for an incremental number, the counter wouldn't survive an anope restart and a DB for a simply module like this is a bit overkill imho...
As for how to do it, it will require the module code to be modified...