The analysis and characterization of human mobility using population-level mobility models is important for numerous applications, ranging from the estimation of commuter flows to modeling trade flows. However, almost all of these applications have focused on large spatial scales, typically from intra-city level to inter-country level. In this paper, we investigate population-level human mobility models on a much smaller spatial scale by using them to estimate customer mobility flow between supermarket zones. We use anonymized mobility data of customers in supermarkets to calibrate our models and apply variants of the gravity and intervening-opportunities models to fit this mobility flow and estimate the flow on unseen data. We find that a doubly-constrained gravity model and an extended radiation model (a variant of the intervening-opportunities model) can successfully estimate 65--70\% of the flow inside supermarkets. Using the gravity model as a case study, we then investigate how to reduce congestion in supermarkets using mobility models. We model each supermarket zone as a queue; and we use the gravity model to identify store layouts with low congestion, which we measure either by the maximum number of visits to a zone or by the total mean queue size. We then use a simulated-annealing algorithm to find store layouts with lower congestion than the original layout. In these optimized store layouts, popular zones are often in the perimeter of a store. Our research gives insight both into how customers move in supermarkets and into how retailers can arrange stores to reduce congestion. It also provides a case study of human mobility on small spatial scales.