Well for spawning I would use a interval that calls a spawn function every so often.
spawning = setInterval(spawn, 1000);
(name of function, time in milliseconds between calls)
and inside the spawn function just add the thing and set it's coordinates etc.
for example:
function spawn(){
thing = _root.attachMovie("thing", "thing"+n, _root.getNextHighestDepth());
//(libary instance name of movieclip, new name, depth)
thing._x = random(101);
thing._y = 0;
thing.onEnterFrame = function(){
this._y += gravity;
}
}
and for the hitTest thing well you should already know how to do something as simple as that.
thing.hitTest(otherthing);