Adding the button is easy enough with obs_properties_add_button(). You can pass a callback as one of the arguments and do things in response to the button press in there.
There's no way of showing popup messages from plugins, though. I asked the same question in an
earlier thread. There's no major reason why such a feature couldn't be added; there just needs to be some thought put into how best to do it and it hasn't been a major priority for anyone yet.
In lieu of showing popups, you can always write a message to the OBS log file with the blog() function. Another option (which I used in obs-ntr) is to create an internal text source using obs_source_create_private() and display a user-facing message with that, but that really works better for a persistent status display than for a one-time message.