Our goal in this research was to develop a motion planning algorithm for a humanoid to enable it to remove an object that is blocking its path. To remove an object in its path, a humanoid must be able to reach it. Simply stretching its arms, which in a humanoid are shorter than its body and legs, is not sufficient to reach an object located at some distance away or on the ground. Therefore, reachability has to be ensured by a combination of motions that include kneeling and orienting the pelvis. However, many posture selection options exist because of the redundancy of a humanoid. In this research, we focused on the optimization of the posture of a humanoid that is reaching toward a point. The posture selected depends on the initial posture, the location of the point, and the desired manipulability of the humanoid's arms. A cooperative balancing controller ensures the stability of the reaching motion. In this paper, we propose an algorithm for reaching posture selection and a balancing controller for humanoids, and we present the results of several experiments that confirm the effectiveness of the proposed algorithm and controller.