I think what you want to do is to specify a custom lexicon for your recognizer. That will allow you to "connect a word written in English with a set of different pronunciations" as you said.
The lexicon maps written words to pronunciations written in a phonetic alphabet. You can override the default lexicon (which will have English pronunciations for each word, if you're using an English recognizer) with your own lexicon, either by writing a new lexicon as an XML document, or by specifying individual pronunciations inline.
So you can define the pronunciation of the Arabic word as a sequence of phones (I think you'd have to use only phones that occur in English, otherwise the recognition might not work properly), then link it to the English written word (grapheme) in a lexicon or inline.
This page explains everything: About Lexicons and Phonetic Alphabets (Microsoft.Speech)