Question #1
Set Top N in your query that fetches record from database where N is the maximum rows you want to fetch
Question #2
I have used dash as a separator to separate ID and Text part. So you need to change it to some other character at 2 places
customers.Add(string.Format("{0}-{1}", sdr["ContactName"], sdr["CustomerId"]));
and
response($.map(data.d, function (item) {
return {
label: item.split('-')[0],
val: item.split('-')[1]
}
}))