Is it possible to change Dock icons on a per-user basis? Can you make the Dock icon for an app appear different? Obviously you could copy the whole app or symlink parts of it, but I don't want to have to create a symlink for every single file in the Resources directory. 

I tried pasting an icon into the "Get Info" window of an alias or symlink, but that just triggered the bell noise.
The bell sound suggests you do not have the right to alter the application. A command line approach will allow you to gain the appropriate rights.

AppleScript App Trampoline

For a per-user approach, consider creating an small trampoline application using AppleScript. Using AppleScript Editor, create an application that launches your desired application.

The AppleScript can be as little as:

tell app "/Applications/Original.app"
    activate
end tell


You can apply a custom icon to your trampoline application and place this application in the Dock. When launched, the trampoline application will in turn launch the original application.

Command Line Approach

The approach below will change the application icon for all users.

Try setting a custom icon on the application using the command line tool SetFile and super user rights, sudo.

See How can I change a file or folder icon using the Terminal for a few approaches for setting an icon via the command line. Below is the most highly rated response:

# Take an image and make the image its own icon:
sips -i icon.png

# Extract the icon to its own resource file:
/Developer/Tools/DeRez -only icns icon.png &gt; tmpicns.rsrc

# append this resource to the file you want to icon-ize.
/Developer/Tools/Rez -append tmpicns.rsrc -o file.ext

# Use the resource to set the icon.
sudo /Developer/Tools/SetFile -a C /Applications/MyApp.app

# clean up.
rm tmpicns.rsrc
# rm icon.png # probably want to keep this for re-use.


I have appended sudo before the SetFile command to elevate your rights.