How to make automatic SIM card selection for specific contacts? Everytime I call someone I change SIM card to one of them and call from that SIM card. Is it possible to assign a SIM card for each contact, so that when calling a contact the phone select the SIM card automatically based on the settings?

Even if a contact is saved in first SIM card but currently second is active, phone uses second to call.
For lollipop versions, Goto 

Settings -> Sim Cards -> Call settings -> Phone account settings -> Make calls with ->

Under this you will have three options 


Sim 1
Sim 2
Ask First


Select Ask First option from that menu and when you call someone from the contacts, you will be shown the Sim 1 and Sim 2 option. Select the Remember SIM for number checkbox and select the sim card you want to associate the contact to. The next time you call that contact it will automatically call using the sim you configured as default(It wont show you the sim selection iption). Do remember that you can always switch the sim cards while connecting to call by clicking Change sim option.

Update:

For Kitkat,

First you need to enable this feature in 

Dual SIM settings -&gt; Call settings -&gt; Automatic SIM selection.


The  setting for Dual SIM settings->Call settings->Making calls should be set as “Ask every time I make a call”.

Dual SIM settings -&gt; Call settings -&gt; Making calls.




Select Remember SIM for number and then select either SIM 1 or SIM 2 to make the call. The next time you  make a call to that contact it will automatically call using the sim you configured as default based on the call history.