Not all computer logic needs a clock. There are two types of logic: combination and sequential. Combinational logic, such as an Arithmetic-Logic Unit, is purely a function of the present inputs. Sequential logic, such as registers, flip-flops, latches, and state-machines (control units), is a function of the present state (stored in a latch, flip-flop, or register) as well as the present input. Sequential logic is usually tied to a clock signal; for example, a D-type positive edge triggered flip-flop will change state based on what the input is when the clock changes from 0 to 1.
Essentially, a clock is used in a CPU to prevent everything from happening at once (just as in physics, time exists to prevent everything from happening at once ). All the stages of the pipeline in a CPU are seperated by latches; when the clock goes from 0 to 1, the results of each stage of the pipeline are latched on to the next stage's latch, so the instruction execution goes down the pipeline.
A clockless CPU is certainly possible, but timing would be very difficult. Clockless control is certainly not new, especially with asynchronous state-machines (I developed an asynchronous memory controller for part of my CPU architecture final project). But getting everything to work together without having the clock time the components on a set interval would be a b!tch.
Remember, the clock signal is not necessary for transporting digital bits...the voltage of the wires or bus takes care of that.