The numbers are timings specifying how long the memory must take to respond to requests, the minimum time between requests, how long from request until the value can be read, how big of a time window the value can be read, etc. Typically, the lower the numbers the better the performance.
As for bios settings, memory today is electronically labelled with it's rated speed (SPD) settings so setting the bios to "auto" or "by SPD" should automatically detect and set it's best speed. That said, it doesn't hurt to run cpuz (aka cpuid) to see what speed the memory is actually running at.
Also, if your cpu uses a 200mhz core bus speed, then you're usually better off running your memory at 200mhz even if that means the timings are slower than they might be at 166mhz (for example).
As a simple example, you might have some PC3200 (DDR 400) memory that runs 3-3-3-8 timings at 200mhz (ddr 400) and 2-3-2-8 at 166mhz. In that case, you're much better off running at 200mhz than 166mhz.
That said, if you overclock that same cpu at 220mhz, the bios will typically push the memory up to 220 along with the cpu, and the timings might be too fast for that, so you'll have to either loosen up the timings (increase them) or drop the memory clock speed to 166 in the bios.
It's also important to know that in most BIOS setups, selecting "166" or "200" in the bios is really just setting the clock ratio for the memory, compared to the cpu clock speed. So if the cpu runs at 200 bus speed, setting 200 for memory speed is really just a 1/1 ratio and 166 on clock speed is really just 5/6 ratio. That means if you run your cpu at 220 and set 166 for memory, your memory will really be running at 183mhz (220 * 5/6).