There are dbmlsync event hooks that you can implement to control when synchronization occurs.
With the sp_hook_dbmlsync_end hook, you can use the Restart row in the #hook_dict table to decide at the end of each synchronization if dbmlsync should repeat the synchronization.
For more information, see sp_hook_dbmlsync_end.
With the sp_hook_dbmlsync_delay hook you can create a delay at the beginning of each synchronization that allows you to choose the time when synchronization will proceed. With this hook it is possible to delay for a fixed amount of time or to poll periodically, waiting for some condition to be satisfied.
For more information, see sp_hook_dbmlsync_delay.