Здесь я не создавал экземпляр экземпляра, и именно поэтому dtInstance не работал.
Вот обновленный код сверху.
<p><input type="checkbox" ng-click="rerenderTable()">test</p>
<table id="tableid" datatable="ng" dt-options="st.dtOptions" dt-instance="st.dtIntanceCallback" class="table table-bordered table-condensed table-hover" ng-if="st">
<!--Table Data-->
</table>
в Контроллере Инициализируйте dtInstance
$scope.dtInstance = {};
и создайте новую функцию как
$scope.dtIntanceCallback = function(instance){
$scope.dtInstance = instance;
}
, теперь я могу получить доступ к экземпляру в моей функции rerenderTable.