I'm assuming from looking the code you're using Zend Framework. I've solved similar issues in Zend and Symfony using php partials.
You could create a partial _list_item.phtml
<li class="ui-content">
<div style="float: left; width: 200px;">
<span class="ui-icon ui-icon-trash ui-button ui-state-active" style="float: left; margin:3px;"></span>
<input name="dates[]" class="datebox" style="width: 120px;" type="text" value="<?php echo $message$date ?>" />
</div>
<div style="padding-left: 200px;">
<input name="contents[]" type="text" value="<?php echo $message ?>" style="width: 100%;" />
</div>
</li>
Then in your view:
<?php foreach ($this->events as $event): ?>
<?php echo $this->partial('list_item.phtml', array(
'date' => $event->GetDate()->format('Y-m-d'),
'message' => $event->GetMessage(),
)); ?>
<?php endforeach; ?>
Then for your javascript:
function AddNewEvent()
{
var today, html, temp;
// call str_replace because javascript doesn't like new lines in strings
html = '<?php echo str_replace(PHP_EOL, "\n", $this->partial('list_item.phtml', array(
'date' => $event->GetDate()->format('Y-m-d'),
'message' => '',
))); ?>';
$(this).after(html);
temp = $(this).next();
CreateDateboxes($('.datebox', temp));
$('.ui-icon-trash', temp).click(RemoveParent);
}
Viola! No template duplication because the affected code is in a partial. No excess javscript templating libraries, although if this kind of thing is prevalent in your application I'd suggest some refactoring and implementing such a templating library.
This approach will have the least impact on your work flow, little to no learning curve, and a short investment in development time for big decrease duplication (bosses love hearing that kind of thing).