The first crazy thing to say when you are trying to reduce space taken by files is "take a full backup!". You have been warned.
You could first perform the usual housekeeping functions within the virtual machine - disk cleanup, removal of unnecessary programs and documents/ backups/ logfiles etc. CCleaner is recommended by many people.
Old restore points, recycle bins for individual logons within the VM, old chkdsk/scandisk files should be removed. Uninstall backups for windows updates which are likely to never be needed. Old, or unused user accounts could be removed.
Clean up internet history, cookies, temporary web files, offline web pages, images.
Manually remove help files, unnecessary language files, unused images (wallpaper, screensavers) etc.
Turn off the virtual machine's Hibernation if enabled to recover a large chunk of space taken up by hiberfil.sys, do a startup disk check, run the cleaner again to remove any files orphaned or created by the disk check, and finally boot to a command prompts and perform a command-line defragmentation.
None of this will have yet changed the virtual disk size.
In order to reduce the size of a virtual hard disk you will need to compact it, which is basically a form of compression, especially of the empty space.
Where files have been written and deleted or moved from, the old data remains written to the virtual disk file, and cannot be effectively compressed without precompaction, which is a process of overwriting all the empty space with blank characters, or "zeroing out" any sectors with data written to them. Zeroed sectors can be very efficiently compressed.
It is not clear which virtualization program you are using, but in Microsoft Virtual PC 2007 and 2004, and Windows Virtual PC for Windows 7 Professional and Ultimate there is a CD image file called Precompact.iso (Virtual Disk Precompactor.iso) in the Integration Components (Virtual Machine Additions) folder under (Microsoft Virtual PC)Windows Virtual PC in Program Files.
From the settings for the virtual machine, you need to attach the precompactor cd image as a virtual cd for the virtual machine and either autorun or set up the precompaction preparation. It takes a while to run.
When it is finished, you should shut down the VM, and then in the host, from the settings for the VM's hard disk, choose modify and compact the virtual hard disk. This also takes a time.
Convert the virtual disk to a fixed size, and manage its growth with external storage in future.