Random forest implementation with probability of choosing column or guarantee of choosing set of columns
Ranger in R can do the first request. The always.split.variables argument defines which columns should always be included.