What are the best resources (online or books) to prepare for the International Linguistics Olympiad (IOL)?
I bumped into this website somehow or another when I had only a minor interest in linguistics. It has a pretty good set of exercises over a wide range of skill levels. Most of the problems are significantly easier than the ones for the international linguistics olympiad, though toward the end, some were about the same difficulty, so I think it would be a good starting point!
Preparation for The International Linguistics Olympiad (and national olympiads before that) generally consists of two parts:
problem solving - find all linguistic problems that you can find and try to solve them. There are some on ioling.org, and perhaps the NACLO ones are also available
theoretical knowledge - this is not a strict requirement, but it may help you a lot. Wikipedia is completely sufficient source (together with its reference materials, of course). You can start by exploring the major fields of theoretical linguistics - phonetics, phonology, morphology. You will end up reading a lot of related articles.
Having theoretical knowledge may or may not help you on the olympiad. For example, at least 3 of the absolute winners of the Olympiad had only basic linguistic knowledge, but were great problem-solvers. But recently linguistic knowledge has proved to be a major benefit.
ioling.org has the problems from the IOL comp - but individual countries that have the competition will also put their problem sets online. Here is the link for Australia's Linguistics Olympiad problems: http://www.ozclo.org.au/problem-sets
Over all they're slightly less daunting than the IOL level ones, so you may want to start there!