How does one generally use partial function in logical statements? How it's done in practice?
Specifically, let $M$ by a Turing machine, $f_M:\{0,1\}^*\to\{0,1\}$ the characteristic function which corresponds to $M$, $U$ a universal Turing machine and $f_U$ the corresponding function which for given input takes values in $\{0,1\}$. Let the variables $x,\alpha$ be bit strings
Can I write $\forall x.\ \exists\alpha.\ f_U(\alpha,x)=f_M(x)$?
The problem is that for $x$ where the Turing machine loops, $f_M(x)$ doesn't even take a value and the sentence "$f_U(\alpha,x)=f_M(x)$" amounts to "$\%!?=!?\$?$".
And I don't even know how to prevent things from going wrong, because if I cautiously write
$\forall x.\ (f_M(x)\in\{0,1\}\implies \exists\alpha.\ f_U(\alpha,x)=f_M(x))$
puts the problem just on $f_M(x)\in\{0,1\}$, which can similarly just not make any sense as $f(x)$ might not have a value.
Edit: My initial motivation for the question comes from 'Computational Complexity: A Modern Approach - Sanjeev Arora and Boaz Barak'
http://www.math.sc.edu/~cooper/math778C/abct.pdf
In particular

How would one formally write the statement "forall $x$ ... such that $U(x,\alpha)=M_\alpha(x)$"? In the book, $M$ is previously define as a tupple $\langle \Gamma,\Sigma, Q,\delta,\dots$, so $M(x)$ here is just "suggestive notation" for the output of $M$ running on $x$. That's also why I went over to the characteristic (partial?) functions to formulate the question.
And I don't necessarily need to use the characteristic function - I've tried (and I think succeeded) in recursively defining a partial function (which I call $\mathrm{run}_M$) out of the transition function $\delta$ of a Turing machine $M$. But it's still a partial function and I can't just write $\forall x.\ \mathrm{run}_M(x)=$ because I'd first have to introduce a bounded quantifier to function notation $\mathrm{run}_M(x)$ to make sense.
First of all, you probably reversed your quantifiers, you probably mean: $\exists\alpha, \forall x, f_U(\alpha,x)=f_M(x)$.
About the "undefined" issue, it is not really a big deal to write an equality in case both are undefined. We can consider that "undefined" is a special value often written $\bot$, and a partial function is in fact a total function with values in $\{0,1,\bot\}$. It is just important to keep in mind that you cannot define a computable function $g$ by using "if $f(x)=\bot$ then return $1$", because if the machine $f$ you simulate does not terminate, then $g$ also does not terminate. That is why some people prefer to write "$f$ loops on $x$ " instead of $f(x)=\bot$, to keep in mind this restriction.