Is it possible to add attributes at runtime or to change the value of an attribute at runtime?
Why do you need to? Attributes give extra information for reflection, but if you externally know which properties you want you don't need them.
You could store meta data externally relatively easily in a database or resource file.