Ideally, you would start by creating a copy, rather than editing one of the existing master pages.
Which one you choose is purely up to your own aesthetics. Once you're familiar with their creation, you can create one from scratch and with the built in design tools (available through the front end, generates web parts and unique content).
As to where to put CSS:
1) If you have CSS that is just used on one page, just put it on that page. Calling unneeded CSS creates extra load (data and processing alike).
2) If you have code that is just used on one or more page layouts, you could include it in the page layout, but that makes it harder to compartmentalize changes. Better to add a reference to a purpose built CSS (CustomWiki.html including a reference to CustomWiki.css).
3) CSS shouldn't be included in the master page, even if it's not something that's going to change often. Create a CSS file for each master page and reference it below your corev15.css. Ex:
<!--SPM:<SharePoint:CssRegistration Name="Themable/corev15.css" runat="server"/>-->
<!--SPM:<SharePoint:CssRegistration Name="/_catalogs/masterpage/_css/CustomSiteMaster.css" After="corev15.css" runat="server"/>-->
Ideally you would place all of your assets in a library before using them, but you can create the code ahead of time if you know where it will live and what it will be called, but an image file referenced in the CSS that is missing won't break anything, it just won't load the images.