If you can programmatically insert the dynamic block, you can surely present a list of visibility states (or other dynamic properties, fo rthat matter) to user for their to choose one, as one of the step of the execution process of your code.
AI'd imagine your code does this:
1. Insert the block at given location;
2. pop up a form (modal dilog, so the user is forced to choose a dynamic property in the list), showing a list of the dynamic property.
3. User chooses one (click or Enter/Esc), the dialog goes away and the inserted block shows the dynamic state as the result.
The process is nothing special. You just need to make the form more user-friendly for this operation. For example, I'd use a borderless win form, set proper background color (to resemble the dropdown list showing when user clicks the dynamic block's grip); I'd only show the list (labals, readonly textbox...) and present no close/cancel button, and while the default state selected (if use label/textbox as list item, set the selected to different background color), user can click any item or hit enter to accept the selected item to close the form, or hit Esc to close. You may use WPF to make the form look better. You may also want to show the small form near the inserted block. You can use Editor.PointToScreen() to find out the from's screen location with the block's position in AutoCAD.