What is convenient when doing computations in your head is to get rid of the number of carry digits that you need to keep track of even if that translates to a method that looks less efficient from an algorithmic point of view. You can also subtract a round number from both numbers to simplify the multiplication.
The subtraction method works as follows. We want to compute a*b. If N is some arbitrary number, we can define:
a' = a - N
b' = b - N
Then we have:
a*b = (N + a')(N + b') =
N^2 + N(a' + b') + a' b' =
N(N + a' + b') + a' b' =
N( a + b') + a' b'
The trick is to choose N such that it is an easy round number to work with, while a' and b' are small and/or round. If a and b are large numbers, then the best you will be able to do is get a' and b' that are an order of magnitude less than a and b. But then you can iterate this procedure using some other round number M to write:
a' b' = M(a' +b'') + a'' b''
where a'' = a' - M and b'' = b' - M
Multiplying in this way requires more steps than your calculator uses, however the difficulty you face when doing computations in your head is not really a lack of computing power, as your brain has vastly more computing power than the most powerful supercomputer, it is simply that you only have access to some limited functions of your brain to do arithmetic. So, what you must do is make sure you can easily keep track of numbers that appear in the various stages of the computation.
Simple example:
998 x 983
Subtract 1000:
998 x 983 = 1000 x 981 + 2x17 = 981000 + 34 = 981034
Ok, this was a contrived example, let's look at a more realistic example:
538 x 721
Let's subtract 500:
538 x 721 = 500x(721 + 38) + 38x221 =500x759 + 38x221
500x759 = 500x760 - 500 = 760000/2 - 500 = 380000 - 500
To compute 38x221, let's subtract 40:
38 x 221 = 40x(221 - 2) - 2x181 = 40x(220-1) - 362 =
8800 - 402
So, the answer is:
380000 - 500 + 8800 - 402 = 388000 - 100 - 2 = 387898
So, even this could be done in your head as the computation only involves easy to work with round numbers.
If you multiply directly without any tricks, you can group together the same powers of ten to minimize the number of carry digits.
So, if we multiply
[c3*10^3 + c2 * 10^2 + c1*10 + c0]x
[d3*10^3 + d2 * 10^2 + d1*10 + d0]
you should compute the digits of this multiplication by computing the last digit first from c0*d0, remember the carry digit.
Then you evaluate c1*d0 + d1*c0 and add the previous carry digit to find the next digit and remember the new carry digit. then you evaluate c2*d0 + d1*c1 + d2*c0 and add the previous carry digit, etc. etc. This way, you only have to remember one carry digit in each step, and the digits of the answer. With some practice you can multiply two five digit numbers in your head this way.