Is there any app or known way to require login credentials to view photos / videos in the gallery or to lock a directory on the sd card in general ?
Not sure about locking but you can create hidden directories on your SD card by starting the file name with a "."
Any media you put in here should not show in the gallery. Additionally, you can set Astro (or whatever file manager you use) to not show hidden files. This would prevent the directory from being viewable until you go back into the settings and change them to show hidden files/directories.
Another option is to create a file called ".nomedia" in any directory that you want to hide from the gallery / music app (ie, ringtones, wallpapers, icons,etc). You might need to clear data, reboot, or rescan the SD card for the change to get picked up, but it works great.
Cool CM Tricks
custom_backup_list.txt - make a list of files in /system that will survive a nightly install (ringtones, notifications, system apps, wallpapers, whatever)
in Terminal Emulator, set this as your shell command: "/system/xbin/su -c /system/xbin/bash". You get all the features of bash, root access, and you can still use the initial command field for whatever you want (default is adding /data/local/bin to your path)