It looks like you actually need a Lookup Dialog. I suppose the Xrm.Utility.lookupObjects() is not an option for you, but that would have been the easiest way to select a record and then start another logic.
I'm not very sure if using Xrm.Navigation.navigateTo() would add some unwanted elements (tabs, form header if it's a form with a subgrid) and I'm not sure if you can have the "Launch" button on the bottom.
If the page should look like in the screenshot, another alternative would be to make your own HTMLWebresource and open it using Xrm.Navigation.navigateTo().
Not very sure about your use case, but I suppose that you need to create a record using a template. Maybe there is another approach possible: to open the record in create mode, and have a field for the template on it. Right now is not possible to have the Lookup as a PCF control, but you could customize a dummy string-field which you can customize as a PCF component. When the value is empty, you can make use of the PCF context.mode.setFullScreen(true) feature to directly open the grid in fullscreen. You would have to write your own grid, but have then full control on what's on the header/footer of your dialog.
I don't see a perfect solution though...