In general for each amino acid, atoms 0-4 are the heavy atoms of the backbone while atoms 5 and up are the heavy atoms of the sidechain. See http://foldit.wikia.com/wiki/Foldit_Lua_Function_band.Add for some details.
Using the atom #'s as in http://fold.it/portal/node/2002640#comment-32942 above would let one treat bands to/from sidechains.
These are some great suggestions! I like the idea of including atom numbers in the stored information. Maybe a format of a.aaabbbcccddee, where a is band strength, b and c are residue numbers (lower # first), and d and e are atom numbers (in same order as the residue numbers). That still limits us to 999 residues, though.
Information about bands to space (length, angles, residues used for coordinate planes) becomes obsolete as soon as the protein is wiggled, so I think just storing the fact that it is a band to space will be sufficient for those.
An example of how this could be used: Band All Contacts Adaptive could create smart bands that store segment numbers. One could then write a recipe that would detect when a contact is lost, find the band for those two segments, and strengthen that band (or enable it if it is disabled). This is something I do by hand on contact puzzles when going from low to high CI or from auto to medium wiggle - wiggle, see which contacts turn red, undo the wiggle, enable or strengthen the bands on those contacts, repeat many times until all contacts are stable at the new CI or wiggle power. It is tedious and repetitive, but mostly deterministic - perfect for automating with a script.