Can launchd run programs more frequently than every 10 seconds?
There is no way to bypass or decrease the time limit.

Apple's documentation regarding Creating Launchd Jobs states the following:


  Important If your daemon shuts down too quickly after being launched, launchd may think it has crashed. Daemons that continue this
  behavior may be suspended and not launched again when future requests
  arrive. To avoid this behavior, do not shut down for at least 10
  seconds after launch.


Your program or script needs to keep running for at least 10 seconds. Consider implementing a loop to check for file modification dates in the last ten seconds, sleeping for ten seconds, and repeating.

Alternatively, you can watch specific files using the kqueue or FSEvents APIs. This StackOverflow question may be helpful, File-level filesystem change notification in Mac OS X.