@stu2's link appears to be missing, so here's the short answer: No.
Slightly longer: Macros are evaluated before the search is run, while field values are known during the execution - too late. Macros are evaluated once per search, while field values exist once per row - too many.
Edit: found the link: http://answers.splunk.com/answers/144038/how-can-i-pass-field-value-as-macro-name.html
Martin did a pretty good job of explaining this here: http://answers.splunk.com/answers/144038/how-can-i-pass-field-value-as-macro-name.html
What is your requirement for creating these macros? you need different processing for each sourcetype?