In an email template it is possible to reference attributes by doing...
However, if the attribute must be in your model. If you did,
The save would not be allowed. You might think fair enough it is not in the model it is catching an error. But what if you are writing an email template which uses attributes that are going to come from another package? Is there anything like dynamic soql which allows the check to made at runtime?