Suppose some addresses in my wallet were used to receive some coins, never send anything out.
Now one day I decide to spend some from an input. Is there any chances for Bitcore to pick an old address that I used to receive only.
or it will pick only a fresh address that has no transactions ?
Under normal use when the blockchain is fully caught up, and you aren't recovering an old backup of the wallet, change should always go to a new address.
However, if you've recovered an old backup of a wallet and your blockchain isn't caught up, I think it's possible that it might choose for change an address that you've previously given out to receive bitcoins.