Another suggestion. I haven't tried this, and it might look odd, but it might look neat too:
Divide your door into horizontal slabs that each move up just until they are up past the top of the door jam. So, the bottom most slab would be moving all the way up. The top most slab would only just move up a little (the height of the slab). You might mess with delays and/or different velocities for the different slabs so that they move together like an actual door would. I'm guessing it would be impossible to make it look like a typical door though.
And here is another suggestion, however, I have no idea if this would work at all, as I have no experience with these entities (someone let me know):
build a door out of a path_track and a func_tracktrain. I'm thinking this would allow you to make something like a garage door that rolls along a track. If you want the door not to be seen when it moves up then have the path_track turn when it is in the ceiling. Anyway, no idea if that will work, as I've no experience w/ path_track or func_tracktrain. Hoping someone else will comment and let us know.