Some ideas to improve performance:
- instead of mounting the remote filesystem, rsync the files - you can then watch the local files for changes using a stakeout script (check this post: http://pragmaticautomation.com/cgi-bin/pragauto.cgi/Monitor/StakingOutFileChanges.rdoc for a Ruby implementation of it) - when a file is saved, rsync it back to the server
Even then, I find the idea of remote editing of files quite disturbing : )
I think a much better approach is to spend the time you'd invest writing a tool like ropen in learning about rsync, svn / git / darcs / bzr, and taking a look at deploying tools like capistrano or vlad (they are not that hard to use, and once you experience the wonder that is rolling back your changes on a server you'll never want to go back to ssh-fs : )
Of course, that's just my .02. Feel free to ignore the fifth paragraph : )