Yeah.. I could write something like this.
The bot's user databases do allow custom data to be stored, like a warn level. (Even if it didn't, the custom data could be saved in a separate file, no problems there). The auto voice/op information is stored as a series of flags with the user data, it lets you define your own flags too. (If you give a user a capital letter or number as a flag it consideres it "user defined" and a script can interpret the meaning of those).
The IP address isn't that big of a problem, you can define multiple IPs/hostnames for each user record.
Only other thing I'd suggest: The command the operator sends to tell the bot to do something should be a direct /msg to the bot. That way it doesn't require any crap in the channel, and also the op who did the command isn't targetted (if it's typed in channel, everyone can see who's responsible for it, if it's /msg'd no one except people who can access the records in the bot will know about it).