To answer my own question, just now I wrote a script that moves the active layer left by 500 pixels:
app.preferences.rulerUnits = Units.PIXELS;
app.activeDocument.activeLayer.translate(500, 0);
app.preferences.rulerUnits = Units.INCHES;
I then created three more scripts that move the active layer right, up and down. Then I assigned keyboard shortcuts to the scripts:
Ctrl + Shift + J: Move layer 500 pixels to the left
Ctrl + Shift + L: Move layer 500 pixels to the right
Ctrl + Shift + I: Move layer 500 pixels to the up
Ctrl + Shift + K: Move layer 500 pixels to the down
By the way, I wanted to use arrow keys instead, like this:
Ctrl + Shift + Left: Move layer 500 pixels to the left
But Photoshop won't let me because it claims the arrow keys can't be used as shortcuts. Bah.
Ctrl+T
and make sure the triangle between X and Y is active and then enter a value that would move the layer approximately or exactly where you want it? There are ways you could make that happen more or less exactly the way you want it, but I'm not sure if it's worth it.