Hi,
1. If you look at the code of listing_div, you can see this:
$itemLayoutType = $this->params->get('div_item_layout_type');
...
$this->setLayout('listing_' . $itemLayoutType);
echo $this->loadTemplate();
That's the code which loads listing_img_title or listing_img_desc, etc based on the item layout setting of the menu item/module.
So you could modify product/listing.php, get the $itemLayoutType = $this->params->get('div_item_layout_type'); line of code to load the item layout of the module, and if it's your custom layout, then you could call listing_custom instead of listing_div in the line:
$html = $this->loadTemplate($layout_type);
2. Pagination is supported for modules under the product page so that if you have more related products than space available to display them, you can have a pagination to see all of them.
Now similarily to point 1, you could turn off the pagination if the item layout is your custom layout like that:
$this->config->set('pagination', '');