It is commonly written everywhere that Ethereum miner selects transaction based on higher gas price first, so I want to know is it possible for minter to select transaction to process based on from/to address instead of higher price ?
Simple answer is yes. The miner can select whichever transactions from the pool they like. They can include all of them, none of them, or any combination they want based on any criteria - including the from address, or the contracts being called, or even the outcome of the contract call. Of course, they won't get paid for transactions they don't include, and they can't prevent a transaction ever getting mined, as there are other miners that will include it themselves in a later block.