I recently needed to use a few (slightly) non-standard encodings in a tclkit and wondered how I can register them at runtime. The solution that I eventually found was to copy the *.enc file into the encoding subdir of $tcl_library, like this:
file copy shiftjis.enc [file join $tcl_library encoding]
For tclkits the $tcl_library directory is a virtual one (in memory), so it's ok to copy files into it. They aren't saved on disk.
Starting with Tcl 8.5, the encoding dirs command allows a script to direct Tcl to find *.enc files in other directories as well.