This paper develops and analyzes two techniques to extend the use of generalized finite element method techniques to structural shell problems. The first one is a procedure to define local domains for enrichment functions based on the use of pseudo-tangent planes. The second one is a procedure for imposing homogeneous essential boundary conditions and treatment of boundary layer problems by utilizing special functions. The main idea supporting the pseudo-tangent proposition is the separation of the geometric description, with its intrinsical distortions with respect to the physical domain, from the approximation space, which is defined in a locally undistorted domain. The treatment of essential boundary conditions allows an adequate enrichment in the boundary vicinity, preserving the completeness of the polynomials defining the basis functions. A set of numerical cases are tested in order to show the behavior of the proposed strategies, and a number of observations are drawn from the results, as follows. First, the technique of constructing the enrichment functions on a pseudo-tangent plane shows good results, even with strongly curved shell surfaces. With respect to the locking problem, the method behaves in a similar way as the classical hierarchical finite element methods, avoiding locking for appropriate levels of p-refinements. The procedure considered to impose essential boundary conditions in strong form appears to be more accurate than with the penalty or Lagrange multiplier methods. The inclusion of exponential modes for the treatment of boundary layers in shells provided extremely good results, even with integration elements much larger than the shell thickness.