Point 1 is probably not the part, that just reads from the array $rows. I think you have to go to CRM/Case/Form/CaseView.tpl and change the 10 in here to 100:
oTable = cj('#activities-selector').dataTable({
"bFilter" : false,
"bAutoWidth" : false,
"aaSorting" : [],
"aoColumns" : columns,
"bProcessing": true,
"bJQueryUI": true,
"asStripClasses" : [ "odd-row", "even-row" ],
"sPaginationType": "full_numbers",
"sDom" : '<"crm-datatable-pager-top"lfp>rt<"crm-datatable-pager-bottom"ip>',
"bServerSide": true,
"sAjaxSource": sourceUrl,
"iDisplayLength": 10,
"fnDrawCallback": function() { setSelectorClass(); },
"fnServerData": function ( sSource, aoData, fnCallback ) {
if ( filterSearch ) {
var activity_deleted = 0;
if ( cj("#activity_deleted:checked").val() == 1 ) {
activity_deleted = 1;
}
aoData.push(
{name:'status_id', value: cj("select#status_id").val()},
{name:'activity_type_id', value: cj("select#activity_type_filter_id").val()},
{name:'activity_date_low', value: cj("#activity_date_low").val()},
{name:'activity_date_high', value: cj("#activity_date_high").val() },
{name:'activity_deleted', value: activity_deleted }
);
}
cj.ajax( {
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
} );
But try! And it is best to modify this in an extension. The same for number two, identify the button and hiding it in a specific template which you add with a combination of buildForm or pageRun hook and CRM_Core_Region like so:
CRM_Core_Region::instance('page-body')->add(array(
'template' => 'yourtemplate.tpl'