Yes, a lot of people throughout the world are working on write once run everywhere and they're the Java, Go, Python, Ruby, Lua... language developers.
And I have to imagine that what you're proposing is Valve write some virtual Steam-Machine that they port to every major OS, then they write a compiler that outputs Steam-Machine byte code. And maybe that could work (though different graphics libraries seem like a very hard problem to overcome). And maybe it would work really well for smaller indie games like Super Meat Boy, Braid, etc.
But I don't think it will work for AAA, computation intensive games life LFD2 or Portal 2. I don't know much about game development but from what I've heard, if you're making a game with whoa-mygod graphics then you're doing some really close-to-the-metal programming trying to save every cycle you can. And all the effort (and results) are for naught if you're running your super optimized code on a virtual machine. Portability would be amazing, but are people willing to cooperate and say "I'll live with a game that looks last generation because so someone running a different OS than me can also enjoy it."
I don't think so.
Disclaimer: I'm not a game developer, I could be wrong about the technical challenges, and if so, please correct me.