According to my experience, filling the drop-downs initially will require to alter the whole form component structure. I.e. the drop-downs would read their items not from queries but from VBA lists. The lists could be created automatically after the Access startup process.
But I have once successfully increased the performance by opening the whole forms at startup and make them invisible. Then, if somebody needs a form and choses e.g. a menu point, the form will just become visible. People told me they accept a waiting time at startup well as they know of it and do some other work or go grab a coffee.
To maintain this whole form preloading, you would need to disable the form close buttons (and probably add an alternative button), as this buttons would destroy the performance boost. Further, maybe the dialogs should be able to reload the attributes somehow. But if the properties in the drop-downs don't alter too much, customer could probably life with an occasional application restart. Last, if Access crashes (one not caught VBA error is enough to reset Access' runtime status), the next dialog to be opened will be loaded again. You need to write some intelligent GetForm()
factory method to deal with this.
But as a plus, loading a dialog invisible at the startup is easy :-)
Now you have at least two scenarios - I hope you'll find a good way.