After several more hours of troubleshooting, I have concluded that this is an actual bug and unlikely to be user error.
I've even installed an alternate archiving utlilty (betterzip) for mac, to avoid any possibility of the OS mucking up the jar files (which I don't really think it does, but I'm erring on the safe side).
I was able to successfully install forge using the newer 1.5.2 minecraft_server.jar, and for the first time, I watched quite happily as the server booted up and spewed out a bunch of forge-specific language in the terminal and server windows.
Unfortunately, 1.5.2 isn't an option for me because the mod I am doing all of this for (http://minecrafteon.com/vending-block-mod-minecraft-1-5-1) isn't available for 1.5.2 yet, and doesn't seem to be compatible with 1.5.2 from my trials- ie. I can't log in with the 1.5.1 client (outdated client error)
Of the 20 or so versions of forge for 1.5.1, I have tried about 5 or 6 of them, but after extracting and adding their contents to the server jar and running it, all of them yield the same error as above ("NoClassDefFoundError"). Do I need to try every single version?
I'm thinking someone out there must have run into this bug before. (I have seen hints of other mac/1.5.1/forge issues in other threads, though none of them help me).
Additional evidence that my client is working is I get the FML loader screen on the client, and I can see the vending blocks in my inventory and place them for a millisecond, but they instantly disappear (since the unmodded server obviously doesn't support it).
I'm wondering if:
a) People are too busy to reply - understandably
b) I'm not clear enough about my issue
c) People know there's an issue but don't know the fix
There are quite a few threads with 0 replies that are older than mine and appear to have adhered to the protocol suggested in the "read this or be deleted" thread. I realize that you're all volunteers, and don't expect support, but am looking forward to figuring out this problem. Perhaps my subject line wasn't specific enough.