I fear the closest is LWP - it supports HTTP(s), FTP and local files. I think that SOAP at one time supported other transfer mechanisms, but the same time I looked into it, I shuddered away from it, fearing for my sanity. There is Filesys::Virtual, but it's relatively cumbersome to implement a new filesystem for it. There also is File::Fetch, but that mostly does what LWP does, except with other tools.
I guess the best approach would be to write a ssh: protocol plugin for LWP.
Cool! Upon looking at lwp protocol, I find there is LWP::Protocol::cpan, which should allow PM-style cpan:// URLs to work within LWP.