A. With a fixed-size VHD, all the space for the VHD is allocated at the time of creation. Technically, you could fill a drive to capacity and there shouldn't be any problems with running out of space. However, you'll lose the ability to create virtual machine (VM) snapshots and storage migration through System Center Virtual Machine Manager.
You lose snapshot functionality and storage migration because when a snapshot of a VM is taken, the current VHD is frozen and a differencing VHD (AVHD) is created to store future writes. If the disk is full, the AVHD can't be created. Storage migration will have the same problem, because storage migration works by creating a differencing VHD for writes while it copies over the original VHD, then merges them together.
To be safe, I recommend leaving some free space so a snapshot could be created. However, if you won't be using snapshots or storage migration, free space isn't required.