Please excuse me for any wrong use of terminology as I'm studying Coding Theory at a non-English university.
As I have learned at my university, for non-systematic cyclic code, to find the original codeword polynomial $Q(x)$, given the encoded polynomial $P(x)$ and generator polynomial $G(x)$, we will have to divide $P(x)$ by $G(x)$ to obtain the remainder polynomial $R(x)$.
If $R(x) \neq 0$ and the weight of $R(x)$ is larger than the number of possible error locations (denoted as $s$), we will have to shift $P(x)$ either left or right until $W(R(x)) \leq s$.
Is there any method to determine the shifting direction so that the number of shifts is minimum? So that you would know you should, for example, shift left because it only takes 3 shifts and not right because it takes 11 shifts.
If you need an example to explain more easily: $$P(x) = x^{14} + x^{10} + x + 1$$ $$G(x) = x^4 + x^3 +1$$$$s=1$$
Your $P(x)$ is not a valid codeword (assuming that's what you mean by an encoded polynomial) because it is not a polynomial multiple of $G(x)$. You probably meant it to be a received word, i.e. the version that contains errors.
But I find the rest of your post somewhat confusing. I
havehad never heard of the approach of shifting the received word, and looking for a low weight remainder as a decoding method (do see Dilip Sarwate's comment below). It works for a single-error-correcting code, because there exists a cyclic shift such that the remainder (so always a low degree polynominal) is a monomial, and we can correct that and cancel the shift afterwards. But for double-error-correcting cyclic codes (or higher), it is very much possible, likely even, that the error pattern is more spread out, and never fits into a window of length $\deg G(x)$.Instead, you could use the syndrome. The remainder of $P(x)$ modulo $G(x)$ is equal to $x^2+1$, which also the remainder of the monomial $x^9$. Therefore the decoder can output $$ C(x):=P(x)+x^9=x^{14}+x^{10}+x^9+x+1 $$ as the most likely encoded word. As non-systematic encoding was used, this corresponds to the message polynomial $$M(x)=C(x)/G(x)=x^{10}+x^9+x^8+x^7+x^6+x^5+x^3+x+1.$$
So with a single-error-correcting maximum length cyclic code (= a cyclic Hamming code) you first build a table of the remainders of monomials, here the remainders of $x^j, j=0,1,\ldots,14$, modulo $G(x)$. When decoding you compute the remainder of the received polynomial modulo $G(x)$, and consult the table, looking for the matching $x^j$.