If the objects are physics objects then you can us the physlib function AddEntityCollisionCheck( e ) and then use GetEntityTerrainNumCollisions( e ) and GetEntityObjectCollisionDetails( e ) to trigger your sounds.
Look in pickuppables.lua to see how they are used.
Been there, done that, got all the T-Shirts!