You can use Artyom Beilis' BiDiTex, which pre-processes a (La)TeX file to reverse parentheses and enclose numbers in appropriate macros.
The documentation lists the problem you mention exactly, in section 1... that's the motivation for writing that utility.
Using the question's MWE:
\documentclass[english,hebrew]{article}
\usepackage[utf8x]{inputenc}
\usepackage{babel}
\usepackage{biditex}
%BIDION
\begin{document}
המספר (מאה) בספרות הוא 100
\end{document}
%BIDIOFF
And running
cat mwe.tex | biditex.exe -o mwe_out.tex
you get:
\documentclass[english,hebrew]{article}
\usepackage[utf8x]{inputenc}
\usepackage{babel}
\usepackage{biditex}
\begin{document}
המספר )מאה( בספרות הוא \Lnum{100}
\end{document}
Which results when LaTeXing in the output you'd expect:

Of course, you would want to scriptify all of this.
By the way, BiDiTeX seems to require UTF-8 input.
\foreignlanguagecommand frombabelfor short text in a different language? Something like\foreignlanguage{english}{100}– Gonzalo Medina Dec 15 '11 at 20:29hebrew.dtxyou can use the switch\unsethebrewto switch from the Hebrew font encoding to the current font encoding, and from the right-to-left mode to left-to-right mode. The command\sethebrewswitches back. – Gonzalo Medina Dec 15 '11 at 20:39