Why are light of different energies absorbed by different elements?
Different elements have different sets of valence electrons in their subshells. The atom absorbs light and promotes one of those electrons to a higher energy level (excited state). Eventually the energy is released and the atom returns to the ground state. That's why it's different energies for different elements
Or rather, the subshells are all similarly configured, and electrons fill into the subshells in similar fashion, but the same subshell in different elements have slightly different energies due to the nucleus being different (different charge). This means transitions between subshells have energies unique to an element. Such transition is usually facilitated by absorption or emission of light (where energy is related to wavelength), thus the wavelengths absorbed is unique to an element (i.e. the color absorbed is unique).
@Huaxiadragon, similar correction, I wouldn't go so far as to say valence electrons are in 'different' orbitals. Electrons fill into orbitals in similar fashion (in fact, the ground state configuration is highly predictable). Emission lines/adsorption lines do not so much depend on where the electrons are, but more on the energy level of the orbitals, which change from element to element.