Not every distribution has got an /etc/enviroment.
No, not all localize-variables start with LC_whatever - LANG is the exception from the rule.
Which LC_whatevers are supported depends on your libc - Linux libc aka glibc supports some LC-vars not supported by other libcs - LC_PAPER for example.
Usally, a setting for LANG (language of error and system messages, manpages, spell checking and menu-entries and so on), LC_COLLATE (sorting and ranges depending on your preferred localization) and LC_CTYPE ("character type" - which letters and characters to support by your localization) is sufficent.
You also choose the encoding of your localization - I'm german, I can choose to encode my locale setting in iso-8895-1 (which includes the german-specific umlauts our alphabet has) or utf-8 which is one of several possible Unicode encodings (Windows uses a different utf, for example) so my system can work with not just basic ASCII (english) and german letters and numbers but everything else Unicode includes.
I hate german error messages, but I need Unicode to support other languages like Japanese for example, so I've set a combination of "german sort order", "Unicode with utf-8 encoding" and "please don't touch the language my systems speaks" with:
Code:
export LANG=en_US.utf-8
export LC_CTYPE="de_DE.utf-8"
export LC_COLLATE="de_DE.utf-8"
With LC_ALL all LC-vars including LANG are overridden and set to the LC_ALL value.