Sometime ago I had the same idea @maxwell.
Forcefields depend on a changing screen inside a doorwall that can be turned on or off. The screen itself can be a changing animation on a transparant screen. You can use filters for it, or make use of the transparant "R_wateralpha 0.5" command for engines that use this feather.
The first forcefield I saw was in "Visions" from Wazat, who used three round bars and gave them a transparant neon light. The bars could be easily turned with a func_train.
After seeing that I liked to try another one. First I tried ti use a sprite for forcefield, but then layed it off as sprites turn with the players view.
Then I decided to use a static entity. A static entity a model, that uses an *.mdl file. With a little scripture in qc it can be turned on in game.
Being a little smarter would make it tog-able, so it can be used in game.
Here is an example of it so you can fidle it out.
forcefield.zip .
If you got any more question feel free and go ahead.