I use BBEdit for my coding. I know how to tell all my .cfm, .php, etc. files to open in BBEdit. But The icon is just the plain Jane (what did she ever do?) dog-eared document icon. Instead I'd like to customize the document icons by file extension so that .cfm and .php look distinct from each other. Any way to do this that doesn't involve me editing BBEdit's plist or periodically repeating the process so newer documents now have the right icon shown?
You could set up a dummy "file opener" application (e.g. based on Automator or AppleScript) where you store the icon and file type information as described here.
Associate that application with your file types, and have it provide the icon. What that application should do when started: Open the passed files in the real viewer/editor, BBEdit in your case.
As I don't have BBEdit, here's my AppleScript solution for passing files on to TextMate:
on open theItems set args to "" repeat with i in theItems set args to args & quoted form of (POSIX path of i) & " " end repeat do shell script "open -a TextMate " & args end open
Save as application in AppleScript Editor, add icons and file type information to that application as described in the linked answer, and associate those exotic file types with this application.