On my old Radio Shack Color Computer (around 1983), I installed a switch that pulled the pin (HALT) low and mounted it next to my keyboard. It stopped program execution and allowed me to pause video games that didn't have that feature.
If you used HALT, the program would pick up at the next address in the program counter when it went high, so you would have to pull reset low during the HALT (it gets latched). That way execution would jump to your newly installed code's startup vector when you left the HALT-ed state.
"While HALTED the MPU will not respond to real time requests (FIRQ,IRQ), although DMA/BREQ will always be accepted and NMI or RESET will be latched for later response." The MC6809 Cookbook, Carl D. Warren, 1981
The 6809(E) was my favorite 8 bit MCU, kinda neat to hear you are playing with them. I remember them as being very easy to develop with. If you needed more I/O pins, you just mapped another 6821 PIA into memory someplace.
I know OpenCores has some code to implement the 6809 on an FPGA, but I am not sure why you would (other than as a cool retro-computing hack).