No and yes. You must understand that Exec resources are not designed for general-purpose command running. They can be used for that, but they are designed as a way to model resources for which no native type is available. They follow the same model as all other resources: they are checked to determine whether they need to be synced, and if so then they are synced (by executing their `command'. If they are synced, therefore, it is exactly as notable an event as if a resource of any other type is synced.
On the other hand, if you understand the above then you should now be considering how Puppet determines whether an Exec resource in fact needs to be synced. This is the role of the 'onlyif', 'unless', and 'creates' parameters. Very likely you can achieve something closer to what you're after, if not exactly what you're after, by incorporating these into your Exec usage.
John