A. Many installations use dynamic VHDs to maximize disk space usage—they only consume physical disk space that's actually needed, instead of allocating the entire size of a virtual disk at time of creation. Static VHDs allocate the whole disk when it's created, wasting a lot of space.
With Windows Server 2008 R2, the performance difference between a static VHD and dynamic VHD is minimal, but a static VHD may still be preferable in certain cases. For example, with critical workloads you don't want to run the risk of running out of physical disk space for a virtual machine's (VM's) dynamic VHD as it expands, so using a static VHD where all the space is allocated at creation removes the chance of disk space being unavailable. A dynamic VDH could run out of space as it expands, causing catastrophic results.
You can convert a dynamic VHD to a static VHD using the Edit Disk action in Hyper-V Manager. You'll have the option to convert the VHD to static and you can specify a new VHD name and location to hold the static VHD. During the conversion process, all content is copied from the dynamic VHD into the new static VHD. Once conversion is complete, you update the VM to use the static VHD instead of the dynamic VHD. Once you've powered on the VM and confirmed that all data has been maintained, you can delete the dynamic VHD—It's not automatically deleted.
As for how long the process will take, 42 (thank you Douglas Adams). Joking aside, the amount of time it takes to convert will depend on the size of the dynamic VHD, the size of the static VHD being created, the IOPS of the disk subsystem, if you're creating the new static VHD on the same spindles as where the current dynamic VHD resides, and other I/O that's affecting the disk subsystem, such as other VMs. There's no simple answer and you'll need to try a conversion to get a rough estimate of expected conversion times.