Well, I can give you some advice on how to roll cast further, but doing so with a heavy fly out at then end of it makes it a bit tougher.
There's a few ways to get a longer roll cast. You can use a longer rod, create more line speed, or aerialize more line.
One way to get a longer rod for free is to hold the rod higher up in the air while casting, and use a "tomahawk chop" style stroke. Its ugly, and bad technique in most cases, but when you've waded in waist deep or more, its often the best option.
To create more line speed, the easiest way is to use your other hand to grasp the butt of the rod and use it to put more "snap" on the cast. Think of your 9' rod as a spey rod and you might be amazed what it can do. Check out Fly Fishing with Sexyloops Redirection Page
for some tutorials on spey casting.
The spey techniques will also enable you to aerialize more line. This allows you to cast further by reducing the amount of fly line that is affected by the "grip" of the surface tension of the water. Just be careful to not aerialize line into the overhead tree in the situation you described earlier.
One other consideration, attempting long roll casts with a short bellied WFF line doesn't work very well. A longer headed WFF line or a DT will work much better for roll/spey casting.