To search in one list just change the keyword query. The keyword query will take a query formatted in the same way you would write a query for the OOTB search box.
E.g. To restrict the search to a document library
keywordQuery.QueryText = String.Format("Name:\"{0}\" AND Path:http://devmy101/Lists/mycustomlist AND (PRIMARYDATE>{1} AND PRIMARYDATE<{2})", documentTitle, dateRangeFrom, dateRangeTo);
E.g. To restrict the search to a content type
keywordQuery.QueryText = String.Format("Name:\"{0}\" AND contenttype:MyCustomContentType AND (PRIMARYDATE>{1} AND PRIMARYDATE<{2})", documentTitle, dateRangeFrom, dateRangeTo);
You can probably use the OOTB core results webpart, but you will need to style the results using XSL, as the results are returned to the browser as XML.