This might be possible if you write your own custom WIT controls. Even then, I'm not sure it would be accessible from a macro -- might have to write a VS add-in as well.
Nevertheless, it sounds like whatever you're doing would be better served by the built-in TFS workflow engine. Let's say you want to record the current date & current user whenever someone resolves a bug. All you have to do is override the XML definition for the transition between the two states. For example:
<Transition from="Not Done" to="Ready For Test">
<ACTIONS>
<ACTION value="Microsoft.VSTS.Actions.Checkin" />
</ACTIONS>
<REASONS>
<DEFAULTREASON value="Sent to QA" />
</REASONS>
<FIELDS>
<FIELD refname="Microsoft.VSTS.Common.ResolvedBy">
<COPY from="currentuser" />
<VALIDUSER />
<REQUIRED />
</FIELD>
<FIELD refname="Microsoft.VSTS.Common.ResolvedDate">
<SERVERDEFAULT from="clock" />
</FIELD>
</FIELDS>
</Transition>
If that's not enough, here's a 14-part (!) series on WIT customization: http://blogs.msdn.com/eugenez/archive/2009/05/10/work-item-customization-tidbits-custom-controls-part-14-of-x.aspx