Well... both systems share the same fuse and get data from the ABS module. And since your ABS light isn't on, I'd say that the sensor itself would be working OK (or your ABS fuse is torched), just not for both of the systems that use it (good for ABS data, but no speed interpolation for the dash) ; also, I'm not reading anything about driveability ... VSS data from teh ABS is fed to the GEM and is used for some of the engine/vehicle load calculations (if you had an auto this would be even MORE noticeable) -- so, here's a few thoughts from my garage:
I'm sure that you've checked the fuses, since this started as a power-reboot (right?), and everything including the alarm is functioning perfectly. (I'd suspect that whatever wire the alarm uses to sense power in the "run" position has caused your fault.
Additionally, the P0500 can relate to the Ignition switch not fully returning" to the "run" position after moving to start. There's a TSB (012113) on this, but related to a sitcky key-in switch in the ignition cylinder, so it's likely not your issue, but the shared symptom does again point to a missing "run" voltage...
Question: does your ABS light illuminate at startup (you know, that self-check / lamp-test) ??
If the sensor was bad or faulty - you'd see an ABS fault light. (no mention of it, so I'm assuming no ABS fault light) -- The ABS data feeds te GEM, which drives your Speedo and Odo... If there is NO power to the ABS, the GEM sees no VSS data (P0500 code from the GEM) -- so checking the ABS fuse and other "power on" fuses is relevant --
Since this comes from a battery spike (reboot), it could also have messed-up the GEM, if this was done with the key in "Run" position.
Just thinking out my fingers here, but a good look into the alarm connection (for power in the RUN position) may help you to track this down.
Good luck, eh
EDIT -- Just re-read and saw that you DO get an ABS light with the sensor out -- so look instead at the signal path from the ABS to GEM ... and chase that damned alarm wiring!)