Provided with mobile edge computing (MEC) services, wireless devices (WDs) no longer have to experience long latency in running their desired programs locally, but can pay to offload computation tasks to the edge server. Given its limited storage space, it is important for the edge server at the base station (BS) to determine which service programs to cache by meeting and guiding WDs' offloading decisions. In this article, we propose an MEC service pricing scheme to coordinate with the service caching decisions and control WDs' task offloading behavior in a cellular network. We propose a two-stage dynamic game of incomplete information to model and analyze the two-stage interaction between the BS and multiple associated WDs. Specifically, in Stage I, the BS determines the MEC service caching and announces the service program prices to the WDs, with the objective to maximize its expected profit under both storage and computation resource constraints. In Stage II, given the prices of different service programs, each WD selfishly decides its offloading decision to minimize individual service delay and cost, without knowing the other WDs' desired program types or local execution delays. Despite the lack of WD's information and the coupling of all the WDs' offloading decisions, we derive the optimal threshold-based offloading policy that can be easily adopted by the WDs in Stage II at the Bayesian equilibrium. In particular, a WD is more likely to offload when there are fewer WDs competing for the edge server's computation resource, or when it perceives a good channel condition or low MEC service price. Then, by predicting the WDs' offloading equilibrium, we jointly optimize the BS' pricing and service caching in Stage I via a low-complexity algorithm. In particular, we first study the differentiated pricing scheme and prove that the same price should be charged to the cached programs of the same workload. Motivated by this analysis, we further propose a low-complexity uniform pricing heuristics.