You have few options.
First one is to add the equation in a row of its own:
\documentclass[12pt]{report}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{shadows}
\newcommand*\squared[1]{\tikz[baseline=(char.base)]{\node[shape=rectangle, draw, inner color = white, drop shadow = {opaque, black}, inner sep=3pt, text justified] (char) {#1};}}
\newtheoremstyle{exercise}
{\topsep}
{\topsep}
{\hangindent=2em}
{}
{}
{}
{.8em}
{\squared{\thmnumber{#2}}}
\theoremstyle{exercise}
\newtheorem{exercise}{}
\renewcommand{\arraystretch}{1.75}
\usepackage{tabularx}
\begin{document}
\begin{exercise}
\begin{tabularx}{\textwidth}[t]{r @{\hskip .4em} X}
a) & This is a test. \\
b) & I say \\
&
\hfil $\pi \approx 3.14$.
\\
c) & Do you agree?
\end{tabularx}
\end{exercise}
\end{document}

However, I feel that a list enumerate would be the better way to go after some modifications to the exercise environment.
Here is some more additions. These are not perfect as the \arraystretch is modified and the widths of \parbox and \minipage are not accurately calculated. Nevertheless, it may serve as a starting point.
\documentclass[12pt]{report}
\usepackage{amsmath, amssymb, amsthm}
\usepackage{lipsum}
\usepackage{tikz}
\usetikzlibrary{shadows}
\newcommand*\squared[1]{\tikz[baseline=(char.base)]{\node[shape=rectangle, draw, inner color = white, drop shadow = {opaque, black}, inner sep=3pt, text justified] (char) {#1};}}
\newtheoremstyle{exercise}
{\topsep}
{\topsep}
{\hangindent=2em}
{}
{}
{}
{.8em}
{\squared{\thmnumber{#2}}}
\theoremstyle{exercise}
\newtheorem{exercise}{}
\renewcommand{\arraystretch}{1.75}
\usepackage{tabularx,enumitem,showframe}
\begin{document}
\begin{exercise}
\begin{tabularx}{\dimexpr\textwidth-2.8em\relax}[t]{@{\,}r @{\hskip .4em} X}
a) & This is a test. \\
b) & I say \parbox[t]{0.88\linewidth}{%
\[
π\approx 3.14.
\]
}\\
c) & Do you agree?
\end{tabularx}
\end{exercise}
\begin{exercise}
\begin{minipage}[t]{0.928\linewidth}
\begin{enumerate}[label = \alph*),leftmargin=*,topsep=0pt,partopsep=0pt]
\item This is a test.
\item I say
\[
π\approx 3.14.
\]
\item Do you agree?
\end{enumerate}
\end{minipage}%
\end{exercise}
\end{document}
$$ $$. Use\[ \]instead. – Sigur Jul 28 '14 at 00:32$$ $$and it has never done anything bad up to this date. – Amateur Jul 28 '14 at 00:33\[ \pi \approx 3.14 \] \\[-1.75\belowdisplayskip]– Sigur Jul 28 '14 at 00:39\arraystretchso I used1.75. – Sigur Jul 28 '14 at 00:41