What is the best way to have a lookup that supports creating a new record if one isn't found?

One thing that isn’t ideal, if you choose a contact for which you’ve already chosen an account, click the row action to open the popup of accounts, and then close the popup without choosing an account, it will clear out the account value on that contact. So you might do something like use the myns component to disable the x button on the popup window if you find that to be a problem.