I assume you are writing this entire array construction in a display math environment (since it's at least two lines in height. As such, you don't need any math-switching delimiters inside your usage:

\documentclass{article}
\newcommand{\twopartdef}[3]{%
\left\{
\begin{array}{ll}
#1 & \mbox{if } #2 \\
#3 & \mbox{otherwise}
\end{array}
\right.
}
\begin{document}
\[
f(x) = \twopartdef{\{ \alpha \}}{x > 10}{\{ \beta \}}
\]
\end{document}
You have a \arraycolsep gap between the extensible left brace and the start of your "two part definition". If you want to remove that, use the array column specification {@{}ll}. Also, I've used \right. (not just \right) to end off the extensible brace pair.
amsmath provides a cases environment that does something similar. Here's your definition using that:

\documentclass{article}
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\newcommand{\twopartdef}[3]{%
\begin{cases}
#1 & \text{if #2} \\
#3 & \text{otherwise}
\end{cases}
}
\begin{document}
\[
f(x) = \twopartdef{\{ \alpha \}}{$x > 10$}{\{ \beta \}}
\]
\end{document}
For completeness, the entire condition is set in \text, which requires you to wrap x>10
in math mode again.