We do have a timer functionality like this planned for a future release, but nothing in the Cayenne UI right now to help you accomplish the goal of this kind of timed button.
However, I think this could be accomplished if you switched from the original Raspberry Pi agent to our MQTT Python Pi Agent. The advantage here is that with the MQTT agent, you can use custom widgets to execute arbitrary code on the Pi device.
This way, instead of having a button that directly interacts with the relay (and is missing timer functionality), you could make one that runs a Python script. And that script would handle the logic of "turn on relay, wait 10 seconds, turn off relay".
I think this same solution would help with your other question as well, this way you're controlling the PWM value on the local machine via Python script as Cayenne doesn't currently have a built in way to modulate the PWM at a specific rate like this via widget.
In both cases, this does not preclude you from having standard widgets to directly interact with the LED/relay.