The 6809 actually has two stack pointers, S and U. S is the hardware stack (used for calls/returns) and U is basically another index register with dedicated push/pull instructions. A Forth implementation typically uses two stacks (the return stack and the parameter stack), this maps very well to the 6809's register set.
Here's the first of a great series of articles from 1993 about implementing Forth on 8/16-bit computers: http://www.bradrodriguez.com/papers/moving1.htm