Sí, como se sugiere, puede usar orderByRaw() Entonces su consulta se transformaría como:
$result = Product::where("ProductCode", "LIKE", '%200%')
->orderByRaw('CHARINDEX('200', ProductCode, 1) DESC, ProductCode ASC')
->get();
Aquí, se suponía, el nombre del modelo es Product para tabla products .