RE: How I upload/create a simple list?
We also run into the issue of needing to send a one-time emails to a specific list of contacts. We've created a custom entity in CRM to accommodate this need. We import our excel spreadsheet of contacts to this table, mapping in First name, Last name, Email address, and a unique name for that list (i.e. 'Contacts of Campaign XYZ'). Then we have a workflow that does a Set/Lookup to find the existing Contact and plugs them into a Lookup field on the record, or creates a new contact record if it's missing.
Next, we create a segment based on our Custom Entity and its relationship to the Contact record. We add the filter criteria Custom Entity record Name = 'Contacts of Campaign XYZ'. Voila! We have our list of unique contacts for our communication!
The above strategy may only work however if you start with an excel list. If you needed to build a segment based on contacts already in CRM, you may consider creating a checkbox on the contact record, flagging the contacts for your list (on demand workflow?), then creating a segment based on 'Checkbox = Yes'. Then add a step in your customer journey that runs a workflow to Uncheck the box, so you can use this same strategy for future communications.