1. Open the "half life 2 deathmatch.gcf" with GcfScape. This file is located in your steamapps folder.
2. Inside the gcf, go to "root/hl2mp/resource"
3. In the resource folder, find a file called "Clientscheme.res".
4. Right click on the file, and select "extract".
5. Extract it to "Steamapps/<youraccountname> /half life 2 deathmatch/hl2mp/resource". If the resource folder doesn't exist yet, create it.
6. Open the newly extracted file using notepad or any text editor/word processor.
7. Scroll down a bit until you see this block of text:
// HL1-style HUD colors
"Yellowish" "255 160 0 255"
"Normal" "0 125 0 255"
"Caution" "255 48 0 255"
You want to change the values behind "normal". First number is the amount of red, second the amount of green, third the amount of blue, and fourth how opaque it is. Maximum value for each is 255. If, for example, you wanted the brightest green crosshair you could get, change the line to read as follows: "Normal" "0 255 0 255".
8. Save the file. Then right click on it in Explorer or My Computer, go to Properties, and make it read-only. This is to prevent Steam from overwriting it with the original, which it attempts to do each time you start the game.
That also means that if Valve changes the HUD structure in any way that effects the Clientscheme.res file in a future update, it won't take in your game until you remove the Read Only restriction. Then you will get the updated file the next time you play. And of course, you will then have to go through the above procedure again to reset the color to your liking.
Also because of the automatic overwrite feature of HL2, if you screw up the Clientscheme.res file in any way or want to go back to the original crosshair/hud color, just delete the file out of the resource folder, or remove the Read Only restriction in Properties, and the old one will be back the next time you start the game.