Promotion codes aren't available as tokens in the list and details templates. You can have any number of promotions and tokens aren't created for them on the fly at that point in the process.
You can create a custom field in your product editor and insert a promo code there.
Check this page for various examples for creating extra fields in the product editor - just do the plain textbox example:
https://nbstore.codeplex.com/wikipage?title=Custom%20Fields
This goes in productxmldata.template:
PromoCode : [<tag id="txtTextBox" type="textbox" width="60" cssclass="normal" maxlength="20" />]
and this goes into your product details template:
PromoCode : [TAG:XMLDATA:genxml/textbox/txttextbox]
That should get you started
You can create a custom field in your product editor and insert a promo code there.
Check this page for various examples for creating extra fields in the product editor - just do the plain textbox example:
https://nbstore.codeplex.com/wikipage?title=Custom%20Fields
This goes in productxmldata.template:
PromoCode : [<tag id="txtTextBox" type="textbox" width="60" cssclass="normal" maxlength="20" />]
and this goes into your product details template:
PromoCode : [TAG:XMLDATA:genxml/textbox/txttextbox]
That should get you started