Bond length doesn't come into it, it isn't directly related to bond strength, and you're ignoring the important factor of the mass.
Have you done the oscillating mass on a spring in physics? If so, you will remember that the heavier the mass, the lower the frequency. Basically this is due to inertia; acceleration = force/mass, so for a given force in the spring, the bigger the mass the slower you can make it move.
For a molecular vibration, the frequency is proportional to sqrt(k/μ), where k is the force constant of the bond and μ is the reduced mass (e.g. for a diatomic molecule, μ = m
1m
2/(m
1+m
2).)
Although the force constants for a C-H and C-O bond are not likely to be exactly the same, the difference is much less than the difference in mass between H and O. The main reason for the high frequencies of vibrations involving H is the low mass of H.
The effect of mass is best seen in isotopic substitution, where the electronic structure (and hence the bond strength) is unchanged, but the atomic mass is different, leading to a change in the frequency. This is most obvious with the substitution H
D, e.g. HCl 2880 cm
-1, DCl 2090 cm
-1; but you also see small diferences between e.g. H
35Cl and H
37Cl.