I have often wondered why it is that non-English speaking programmers are forced to use a different language when programming when it would seem to be so easy to offer an ID
No, and there really can't be. If you take a C compiler, for example, and localize the keywords into a different language, you will have a perfectly viable programming language but it is, by definition, no longer a C compiler.
C may have keywords like if
and for
which are obviously derived from English, but they are not English keywords, they are C keywords.
That being said, I have often wondered why we haven't seen programming languages based on other human languages. Are they just not that well known?