I am trying to create a VM for SharePoint 2016. Can I have both SQL and SharePoint installed on the same machine?
Yes its possible to have a single server SharePoint 2016 development Farm.
The machine needs to have atleast 16 GB RAM available. The processor should be 64 bit and 4 cores. Also there needs to be 80 GB space available for system drive and 100 GB for second drive.
Step by step guide - Single server 2016 installation & configuration
Yes, but it can be very hard to setup all the prerequisites correctly.
I would strongly recommend you read Sahil Malik's book SharePoint 2013 Development Machine. Although the book is a version behind, I believe you will find his advice on using an SSD, setting up Active Directory, configuring SQL for SharePoint, disabling the loopback check, setting up networking, etc. to be very helpful.