Resizing a virtual hard disk downward (smaller) is not possible once it has been partitioned/formatted however the size of the virtual partition can be reduced thus not allowing a sparse disk to grow to its allocated size.
Another option is to add a right-sized virtual hard disk to the Virtual Machine and then use a product like Symantec Norton Ghost to image the contents of one drive to the other and then remove the larger drive and then use only the smaller drive.