Things cost what they cost, regardless of your "salary structure". If you find a good developer and they want another $1000/month, you should pay them.
Your choice is to hire the person you want and pay them what they want, or to continue searching. Presumably you have valuable work for them, and they will drive revenue that is some multiple of their salary. Interviewing a candidate for four hours costs about $500. How many more will you have to interview before you find another good developer? And when you do, will they work for less?
Here's another way to look at it: if this developer is a good hire, then $1000/month won't make much difference. If they are a bad hire, then $1000/month won't make any difference either; you'll still have to let them go. It would be very rare to find a developer whose presence was neutral: they were a hire at $90K but not at $100K.
If you really want to hire someone, and their desired salary is reasonable, you should consider offering a bit more than they asked. This won't cost much, but it will make it the candidate eager to join and give them a initial good impression of your organization.
Finally, the "annual headache" you fear will become a huge migraine if the rest of your staff discovers that they are being paid below market. You should proactively adjust the salaries of the people you want to retain before they are recruited away for a 20% raise.