You're right that it's fair for employers not to hire me if this is my demand. I never meant to imply otherwise. Employers can require all sorts of terrible things. Our recourse is mostly to either negotiate or put up with it.
The difference is that you didn't spend lots of money researching a better type of floor-laying and then have the flooring company come in to lay the hardwood according to your specs. If you had, you might want to protect that secret.
I have little or no sympathy for businesses which insist on restricting freedom outside of those hours for which it pays me wage.
The problem is conflict of interest, I think working for direct competitor is very unethical (of course direct competitor is sometimes vague term, but that's another discussion).
The software industry is big enough that you can definitely find secondary employment at a company that isn't direct competitor. That you want to apparently game multiple parties for your own gain seems like a pretty terrible thing from the employer side of the fence.
Once the company I work for had an employee from a direct competitor apply for a job with us immediately after quitting. They were pretty forthcoming with offering us intel on the competitor, presumably within their contract. We still turned them down because if someone has that little respect for a working relationship with their previous employer you can be sure that they will do the same to you.
People here often like to paint the picture of the people versus evil corporations. In reality, a job is something where you should have mutual respect between employees and employers. To me and many others, this is part of being a professional.