Embedded video is generally way too large to do what you want. However if you place the video portion on a web server or a service that can hold the video for you like the cloud for example. Then the html code can preload the video, but odds are the video would be large enough that it would not be done loading by the time they viewed the attachment.
So using a preloader with let them know that a video is in the process of downloading and will play when finished.
Both Adobe Edge Animation and Adobe Flash Pro can create a preloader for its video. Edge would use the html5 video standard and flash would use its flv format.
Edge would be the easiest to figure out how to embed into your own html file if you need to since it is html/css and javascript.
Speaking of which, edge would require javascript be enabled and flash would require is flash player plugin be installed on the viewer system.
You may find this is too much trouble to work with and just provide a url link to where the video is stored and let them click the link to view the file.