Four from Compiler Science:

1. Does a program ever access an uninitialized variable.
2. Do two context free grammars describe the same langauge.
3. Does it make a difference if parameters to a subroutine are passed by reference or by copy-result
4. Deadlock determination in parallel programs.

Actually almost every question of the form "Does a program ever do X?" is equivalent to the halting probelm.  So the above might be considered too close the the halting problem to be interesting answers ot this question.