Is there any way of playing movies on the Xbox from an external hard drive?
Yes, there is. Use a DLNA server to expose those files. One example may be a machine with Windows Media Center. Another (which is what I'm using) is a NAS server. All my media files are available to my Xbox 360.