File compression works on the basic idea of assigning commonly recurring chains of strings to a common index of a table where the full string is stored.
For example:
Input file: foo bar bash baz foo foo bash foo baz baz foo baz foo bar
Output file: foo ,bar ,bash ,baz |01230020330301
I understand that this is a trivial example and actual file structures and algorithms are much more complex, but my question is, are there any existing compression utilities that provide options for viewing this sort meta-data in some way given a specific archive? Possibly for educational purposes?

gzip,xz...), add debug code, that will print the dictionary and run it on a simple file you prepare. That's one of the original reasons behind GPL - being able to study and modify the code that is running on your system. :) – peterph Nov 15 '12 at 10:09