A goal for site implementation should be to minimize your on-page scripting. People call that "unobtrusive Javascript" or something like that. In order to do that, page elements will need some markup for your script code to look for anyway. In other words, if you want to have a "div" that fades in after the page loads, well then you might add to its "class" value something like "fadeIn fadeSpeed:slow". Your script code will look for such things and perform animations (or whatever).
Well the point is that as you set up such a framework, you'll naturally end up with a way for the designer to communicate intention. You'll have to come up with a "vocabulary" of page dynamic elements, but you'd hopefully do that anyway. Once that's done, then the very thing that the markup will need to actually make the dynamic effects happen will serve as the designer's vehicle for indicating design intentions.
Another useful tool for such things is the development of your own custom tags, something that varies between difference server platforms. Such tags can "wrap" certain messy markup tasks and, again, capture the agreed-upon site elements that implement an overall design theme.