I'm no expert in game porting, but as I understand it there is a difference between a game being ported over to a platform and a game engine being able to directly output code natively to that platform. As in currently, in a simplified sense, you can write a game using the Source Engine and related development tools and select to compile to either the PC or the XBox 360 as compile targets. I don't believe you can do that for the PS3. Sort of like how Steve Jobs was promoting the PPC to Intel transition as a bit of code modifying and simply clicking a x86 checkbox in XCode and you'd get a workable program. The Source Engine can do that between PC and XBox 360 but not PS3.
People were suggesting just because Portal 2 is available for Mac, it'd be logical/trivial to bring other Source Engine games to Mac. Yes, it would be a lot easier because most of the work can be reused. But the ultimate in cross-platform support to set the stage for future games is if the Source Engine can natively develop for OS X, so that in a simplified sense, the same game code in the development tools can be compiled to either PC, XBox 360, and OS X with a few settings. Platform specific optimizations would of course come later.
Further reading on those wikipedia pages suggest that the port of orange box over to the PS3 was a fork of the code base. The PS3 code wasn't merged back into the main source tree at Valve. They are now very different versions. There are so many different reasons why they could have went this direction.
The game engine (source) is basically a framework, a series of libraries. It does all of the very low level things like, loading maps, displaying models, rendering, networking, I/O, lighting, textures, etc etc etc.
The client code (or game code) is the actual game it self. The actual maps, textures, character models, the actual sounds, how the game is played etc etc. Episode 1, episode 2, portal, etc are different game clients using the same game engine.
If you wanted to port one of those games over to a new platform, you have to also port the underlying libraries. It just wouldn't work otherwise.
When Apple switched from PPC to Intel, it was FAR more complex then just clicking a button. From a very low level, PPC and x86 instruction sets are very different. Even simple things like telling the CPU to idle is different. (I am not 100% sure on this actual different, just using it as an example) IIRC, the PS3 is a PPC based CPU. (sorta)
I have heard a number of times that Apple had been maintaining an x86 version of the OS for a very long time, far longer then they suggest. Which is why they were able to release an x86 version so quickly. It totally makes sense, and doesn't take much for them to maintain it in the background.
When you compile a C application, its basically taking the source code and converting it into assembler for the target architecture. Universal binaries contain compiled code for both architectures.
The reason that you can port a game from Windows to Xbox easier is because they are both using very similar APIs. The Xbox is basically running a version of Windows. The PS3 is vastly different, just like the Wii is also much different.
I am by no means a game engine expert or anything. But I am a developer with a strong understanding of all the layers involved.