Intelligent omni-surfaces (IOSs) have been considered for assisting outdoor-to-indoor millimeter-wave (mmWave) communications. Nevertheless, the existing works have not adequately investigated how the number or the deployment locations of IOSs should be optimized for serving multiple indoor users. In this paper, we study IOS-assisted outdoor-to-indoor mmWave communications where IOSs are installed in an exterior wall of a building to refract mmWave signals from an outdoor base station (BS) to indoor users that locate among indoor blockages. Given a fixed total number of refracting elements, we formulate an optimization problem to maximize the downlink energy efficiency of the outdoor BS while satisfying the dowlink data rate requirements of the indoor users by jointly optimizing the number, locations and phase shifts of IOSs and the beamforming vectors of the BS. To address the varying dimensionality and the non-convexity of the optimization problem, we decompose it into two subproblems that optimize the IOSs' phase shifts together with the BS beamforming vectors and the number and locations of IOSs, respectively, and devise successive convex approximation and Continuous Population-Based Incremental Learning-based algorithms to solve them alternately. Simulation results demonstrate that the proposed algorithms can obtain the optimal number and locations of IOSs, resulting in significantly enhanced energy efficiency of the outdoor BS compared to benchmark schemes.