Is there a way to assign permissions or roles to the built in security maintenance user?
No. This user is designed to just allow security users, etc. to be setup while maintaining the applications overall security.
If that user only has access to the security dialog, how do you provide a means to navigate to the application menu that launches the dialog?
The menu item itself does not have to be assigned a permission. When you call the SecurityDialog form this user will be granted permission.
Is this a situation where you would use a ‘gateway’ form?
This is definitely another option.