What improvements can I make to avoid these If statments?
You'll want to look up the Strategy Pattern.  

In your specific case, you're probably going to want to do something along these lines (note - I've never worked with ManagedBeans, so I don't know what spanners that throws).

Leave your Car class as normal.  Or, well, you may want to provide specific types for assignments, if possible (So make Colour an actual class, even if it only contains an actual String - just so people can't assign a Make value to it...).

Your CarDAO should be multiple instances.  Something like:

public class CarColorFinderDAOImpl implements CarDAO {

    public Car find(String colorToFind) {
        // search by color here
    }
}


Then your CarFacade actually transforms to something like this:

public class CarFacade {

    private Map&lt;String, CarDAO&gt; finderDAO = new HashMap&lt;String, CarDAO&gt;();

    public Car find(Sring searchValue, String searchColumn) {

       return finderDAO.get(searchColumn).find(searchValue);
    }

    public void registerFinder(String searchColumn, CarDAO finder) {
        finderDAO.put(searchColumn, finder);
    }
}


Which you then call (mostly) as normal from your managed bean.
Please not that there are further abstractions available (such as encapsulating searchValue and searchColumn in some sort of FinderContract object).  But this is a quick basic one to get you started.