Even assuming we're okay drastically restricting the scope of mathematics to be decided - which flies in the face of the whole idea of the program - there's still a fundamnetal issue: the arithmetizability of computation. Basically, in order to rescue decidability you'd have to restrict all the way down to triviality.
This is a riff on Godel's incompleteness theorem. Just as with GIT we used arithmetic to talk about proofs, we can talk about Turing machines in the language of arithmetic. (I don't know when this was first explicitly stated, but it's pretty much immediate once Godel's ideas are understood - certainly Kleene's $T$-predicate, which appeared only seven years after Turing's paper, does the job.) The point is that from a computable solution to the Entscheidungsproblem we can construct a computable consistent completion of PA (just go through sentences one by one with a consistency-preserving greedy algorithm), but by the arithmetization of computation (plus Rosser's improvement of GIT as originally stated) Godel's incompleteness theorem applies to any computably axiomatizable consistent extension of PA.
Indeed, looking a bit closer we get that even the $\Sigma_1$ fragment of the consequences of PA is not computable. Since the $\Delta_0$ fragment (= bounded quantifiers only) is trivially computable, this says that incompleteness hits arithmetic as hard as it possibly could. And at this point there's really nothing left to do.
Combining all this with the fact that restricting the scope goes against the whole spirit of the program to begin with, I think that explains why the conclusion was (and is) pretty universal. Note that the study of decidable fragments of arithmetic is definitely alive and well, it's just recognized as a fundamentally different thing than Hilbert's program.
For the first question, I'll give a proof with about the same level of rigor as the notion of "behavior" of a computable function. Without a slightly firmer definition, there's not much more to be done. Indeed, as Noah pointed out in the comments, for sufficiently loose definitions of "behavior", the theorem becomes false. This sounds like rice's theorem, and so I will basically reproduce a proof of that.
As you've noticed, behavior is a more general condition than halting. So we want to imitate the proof that $\mathsf{Halts}$ is undecidable and see what happens. The biggest issue is that we cannot directly plug our function into itself for a contradiction. We will need the following fact:
Enumerate the turing machines as $\mathsf{TM}_n$. For every computable $Q(x,y)$, there is an $e$ so that $\mathsf{TM}_e(y) = Q(e,y)$.
That is, the $e$th turing machine is the same as $Q(e,-)$. This theorem is commonly used in diagonalization arguments with turing machines, and it's a good one to have in your back pocket.
Let $f$ be a computable function, and $b$ be a behavior that we want it to have. We claim there is no function $B$ so that $B(f) = 1$ if and only if $f$ behaves like $b$.
Indeed, towards a contradiction say $B$ exists. We will assume the behavior is nontrivial. That is, we can find functions $f$ and $g$ which do, and don't, satisfy the behavior. Then we can define a new function $\mathsf{UhOh}$ as follows:
$$\mathsf{UhOh}(x,y) = \begin{cases} g(y) & B(\mathsf{TM}_x) \\ f(y) & \lnot B(\mathsf{TM_x}) \end{cases}$$
Note, as in the solution to the halting problem, that $\mathsf{UhOh}$ does the opposite of its input. That is, $$B(\mathsf{UhOh}(x,-)) \iff \lnot B(\mathsf{TM}_x).$$
Do you see contradiction around the bend? Let's use the theorem cited above! We know there is some $e$ so that $\mathsf{TM}_e(y) = \mathsf{UhOh}(e,y)$. Now, we ask the question: $B(\mathsf{TM_e})$?
$$B(\mathsf{TM_e}) \iff B(\mathsf{UhOh}(e,-)) \iff \lnot B(\mathsf{TM}_e)$$
UhOh indeed.
Thankfully, the second question is much easier. We want to know that "$h(x)$ is undefined" is not a semidecidable thing to check.
Recall that "$h(x)$ is defined" is a semidecidable thing to check. This is because if $h(x)$ is defined, then its computation will halt in say, $N$ steps. Then by waiting long enough we can check that $h(x)$ is defined.
Now we remember the following fact: Whenever $P$ and $\lnot P$ are semidecidable, they must both be decidable. This is because we can run our semideciders for $P$ and $\lnot P$ in parallel, and we know that one of them will give us an answer. But once we've answered, one, we've answered both!
So if "$h(x)$ is undefined" were semidecidable, then "$h(x)$ is defined" would be decidable. But this is obviously false (cf. the halting problem).
(Notice that while we contradict by using the halting problem, this is not a reduction to $\mathsf{Halts}$.)
I hope this helps ^_^
Best Answer
The halting problem asks whether there exists a (single) Turing machine $H$ such that for every Turing machine $T$ and input $I$, when we feed $\langle T,I\rangle$ as input to $H$ then
You suggest that instead we ask for a $H_T$ for every $T$? Or even go further and ask for a $H_{\langle T,I\rangle}$ for every pair $\langle T,I\rangle$? The latter would be easy! One of
or
will do the job, but I won't tell you beforehand which of these!
So back to the other idea: Suppose that for every TM $T$, there exists a TM $H_T$ such that $H_T$ halts for every input $I$ and gives us either a "YES" or "NO" that correctly tells us whether $T$ will halt on input $I$. Then in particular, there exists $H_S$ for the simulation TM $S$ (which we can write down explicitly), i.e., $S$ takes the description of a TM $T$ as input and simulates what TM $T$ would do when given $T$ as its input; in particular, $S$ halts on input $T$ iff $T$ halts on input $T$. Now from $H_S$ we can explicitly construct yet another TM $Z$, which is just $H_S$ except that every terminating node is replaced with "check what output we produced; if it is 'NO', terminate; otherwise, loop forever".
What might $Z(Z)$ produce? That depends on $H_S(Z)$, which again depends on $S(Z)$, so ultimately on $Z(Z)$! If $Z$ halts on input $Z$, then $S$ halts on input $Z$, then $H_S$ halts on input $Z$ with result "YES", then $Z$ does not halt on input $Z$ - contradiction. On the other hand, if $Z$ does not halt on input $Z$, then $S$ does not halt on input $Z$, then $H_S$ halts on input $Z$ with answer "NO", then $Z$ halts on input $Z$ - contradiction again! We conclude that $H_S$ cannot exist. Hence there exists at least one TM that does not have its specific halt-checker TM. Hence it is false that every TM has a halt-checker TM.
As to the undecidability of math: For any given statement $\phi$, we (i.e., a TM) can enumerate all finite sequences of math symbols and check whether such a sequence constitutes a proof of either $\phi$ or a proof of $\neg \phi$. Such a proof-finding TM, let's call it $P$, will either halt with a proof for $\phi$ or with a proof for $\neg \phi$ - or not halt at all. But perhaps we are lucky and this will always halt? Unfortunately, for every given TM $T$ and input $I$, we can formulate "TM $T$ will halt on input $I$" as a mathematical statement. Thus $P$ above will either find a proof that $T$ halts or a proof that it does not halt on input $I$. Per halting problem, we know that this is impossible. Therefore, there do exist some inputs for which $P$ does not halt. That is, there do exist some statements $\phi$ such that neither $\phi$ nor $\neg\phi$ is provable.