Unfortunately the is no direct way to pass data to a blocking dialog. To set user data it would be necessary to have the handle of the dialog.
You could create your own create-blocking-dialog-function. Attached is an example how this could be done.
After creating a dialog with GUI_CreateDialogBox() you can use the handle to set user data (don't forget to set the number of additional bytes in the create structure). After setting the user data you can call GUI_ExecCreatedDialog() which is blocking and executes the created dialog.