No, you cannot. The ShowMessage Action results in a standard javasript alert() call on the client (i.e. browser).
You may be able to roll your own solution for this. Off the top of my head: You could develop a custom message box javascript class that would pop up an element and display whatever you want. This class would render the DOM elements to provide a custom message box, in fact there are several open source libraries that already do this. You then create a custom WorkFlow Action that will inject the client side calling code into a custom hidden field on the record. This injected javascript would call your message box class and display it.
This action would take a string parameter for the string (formatted or not) that you want to display. This would be non-trivial, but if it’s part of a larger solution that will see extensive re-use across your install it may be worth it.
I’m not sure if you can get a reference to the nlobjResponse object to insert the hidden field in code or if you’ll need to use a normal Record defined custom field.
Good luck!