1. This should work fine. On PostBack, the TimeRangeSelected event is called for every cell and the values are updated on the client side.
You can test it in the Calendar/Navigator.aspx demo page:
If you modify Calendar/Navigator.aspx.cs like this, you will see the custom HTML after TimeRangeSelected event PostBack as well.
protected void DayPilotNavigator1_BeforeCellRender(object sender, DayPilot.Web.Ui.Events.Navigator.BeforeCellRenderEventArgs e)
{
e.InnerHTML = e.Start.Day + "*";
}
2. The client-side object is already available as dpnSelection (for your ID and ClientIDMode values; you can also set it explicitly using ClientObjectName="dpnSelection"):
dpnSelection.update();