Hello Marek,
I think you can only do that indirectly by using the branch callback of CPLEX which (among others) allows you to create one child node in which the lower or upper bound of a variable is changed. (It might be that the new upper bound must be lower than the original upper bound; I am not sure about that.) Changing the upper bound of a variable in a branch callback can be done by using the function GMP::SolverSession::GenerateBranchUpperBound; there exists a similar function for changing the lower bound. This only works for problems containing integer variables.
For using CPLEX from OPL, C++ or Java you probably get a better answer at the IBM CPLEX forum.
Best regards,
Marcel Hunting
AIMMS Software Developer