hmm... I don't know if this will suite you:
http://xenforo.com/community/resources/xenloginsecurity-ip-address-account-login-security.1194/
This was essentially created to protect important accounts (such as your admin / mod accounts)
It prevents users from logging into that account even if they have the correct username / password combination (they have to use the Authorised IP address, which can be set by the user in the account settings)
If some one attempts to login from an unauthorised IP address, the owner of that account is sent an email
If it is them, they can then use this email to login using a "safe link"... this link expires after a certain amount of time
However, I would only set this up on important accounts... if this was set up on everyones account, it would be incredibly anoying for the user to have to go to their email every time the IP address changed
So it's possibly not ideal for your situation, unless this is only happening to a handful of user accounts (and in your situation, the user might then add other peoples IP addresses if they know them)?
I honestly don't think restricting the number of IP address on an account it a good idea, most users have variable IP addresses, so may have many hundred / thousands of IP addresses associated to their account