(and the Arduino does not have) is a single step process for troubleshooting.
Have you looked at how big the debugger is? How do you propose to fit a debugger on the Arduino? How would you interact with the debugger? The Arduino does not have a keyboard or a monitor?
Realistic request are one thing. This is something else.
You do it like MPLAB for PICs. Simulate it on the computer. Actually, I think the "verify" should do this. Debugging gets done before the code ever has to even touch the microcontroller. Also, this would allow people to buy an Arduino and "program" it using the simulator before it even ships to them.
I'm going to check out virtual breadboard again, since that is supposed to offer basically what you are asking for. To bad it has to be a large separate program.