this is the development work. you need to hire some one.
basically you need to create attribute for product.
eg. 'exclude_out_of_stock'.
then you need to code in Mage/Catalog/Block/Product/List.php
modify function _getProductCollection()
FROM
$this->_productCollection = $layer->getProductCollection();
TO
$this->_productCollection = $layer->getProductCollection();
if ($this->getRequest()->getParam('exclude_out_of_stock',0)) {
$oCollection = Mage::getModel('cataloginventory/stock_item')
->getCollection()
->addFieldToFilter('is_in_stock',0);
$oProducts = array();
foreach($oCollection as $_collection) {
$oProducts[] = $_collection->getProductId();
}
if(!empty($oProducts))
$this->_productCollection->addIdFilter($oProducts,true);
}