I don't think that marking code this way adds to its readability. Nevertheless, you can change the behavior of " in math mode with the following TeX magic:
\documentclass{article}
\usepackage{amsmath}
\begingroup\lccode`~=`"
\lowercase{\endgroup\def~}#1"{\text{#1}}
\mathcode`"="8000
\begin{document}
"Abc" $f_"abc"$
\end{document}
However, keep in mind that " is not the “right” way to type a double quote, and it's preferable to use the combinations `` and ''.
If the quotes your text editor inserts are “ and ”, then the following should work:
\begingroup\lccode`~=`“
\lowercase{\endgroup\def~}#1”{\text{#1}}
\mathcode`“="8000
But definitely not when using pdflatex and UTF-8 encoding. XeLaTeX and LuaLaTeX are OK. Again, I don't recommend such a type of markup, which is prone to errors and less readable than an explicit \text{...} markup.
Let's see how it works; the trick
\begingroup\lccode`~=`“
\lowercase{\endgroup\def~}#1”{\text{#1}}
is very common (it's in the TeXbook) in order to give a meaning to the active version of a character (in this case “) as \lowercase does its job and puts the converted token list back in the input stream, so that TeX will see the lowercase version of ~ (still active as is ~ in the default setting). Thus TeX will swallow
\def“#1”{\text{#1}}
The macro “ is defined to look for the following ” and consider anything in between as its argument, which is passed to \text.
With \mathcode`“="8000 we are telling (Xe)TeX that “ in math mode must be converted to its active version. In text mode the nature of “ is not changed.
Why does the first version, with ", work? Because " is not active, its category code is still 12 and the definition tells TeX to look for the next category 12 " that follow (it's converted to a mathcode only if it need to be, that is, if TeX is looking for mathcodes, which it doesn't when collecting the parameter text of a called macro).
Why doesn't the version with “ work with pdflatex? Because this is not a seven bit character, so pdftex sees it as two characters (it's even wrong to say \lccode`~=`“, in pdftex, as a stray character will remain). With XeTeX or LuaTeX, instead, multibyte characters are converted to a single entity before the engine starts the tokenization process.
\text{}commands to improve general readability of the tex code. – rubenvb Dec 12 '11 at 13:01