Ja som föreslagits kan du använda orderByRaw() Så din fråga skulle omvandlas som:
$result = Product::where("ProductCode", "LIKE", '%200%')
->orderByRaw('CHARINDEX('200', ProductCode, 1) DESC, ProductCode ASC')
->get();
Här antog man att modellnamnet är Product för tabell products .