If you install the Xcode Tools from your OS X CD, you get a lot of free development tools, and you also get the "setfile" and "getfileinfo" utilities. These can set or display a number of HFS+ file attributes that you may not have even known existed. Some of these seem to be either unimplemented or are perhaps for use only by certain programs, but two (visibility and locking) are useful for our use.
Locking
You can do this from the "Get Info" dialog also, but the command line method is "setfile -a L filename". After doing that, a "getfileinfo" will show a capital "L" in its listing:
Note that if a file is locked, you can't set this or any other attribute until you unlock it ("setfile -a l filename"). Even if you have set V, the file remains visible to "ls" in Terminal and will be visible even in Finder unless AppleShowAllFiles is "No" in your Library/Preferences/com.apple.finder.plist (that is the default, but you may have changed it). If you do need to change this back, you can use the Property List Editor from /Developer/Applications/Utilities, or just do this in Terminal:
defaults write com.apple.finder AppleShowAllFiles No
Or just vi the plist file directly - it's plain text.
You'd need to relaunch Finder (Apple Menu,Force Quit, choose Finder and click "Relaunch") for that change to take effect.