The error is because in Linq to SQL, the Query is converted to SQL and then executed in database and hence when you use ToString which is a .Net method, it is unable to do process it.
Solution is to use the SqlFunctions.StringConvert method.
List<SelectListItem> customerList = (from p in entities.Customers
select new SelectListItem
{
Text = p.Name,
Value = System.Data.Objects.SqlClient.SqlFunctions.StringConvert((decimal)p.CustomerId).Trim()
}).ToList();