To answer the NLB question, the only NLB you need to handle is for web traffic to your Web Applications (potentially including Central Admin). Use an NLB hardware appliance or HA Proxy -- I would not recommend using Windows NLB. Services, such as Search, MMS, etc. are handled by SharePoint's internal load balancer.
I would strongly suggest running all of ...
I would go with custom min role as you have two Sharepoint servers, with custom role you will get options to enable or disable the service you want to.
I am not sure which service application you want to use in you farm, but you can check this link if any other minrole is good for you.