In orig. HL, an object can only be one entity.
The door following the train in HL is a trick - it's actually fixed while the train is moving.
You could use the 'render' trick: a fake door on the train that does nothing but is a func_wall_toggle.
The 'real' door, sitting on the platform, is rendered invisible (env_render) until the train arrives.
Then the real door is made visible and the fake one is turned off at the same time. Obviously this isn't a perfect solution.
The perfect solution is to get Spirit, a 'base' mod that allows, amongst other things... combined entities!
http://spirit.valve-erc.com