Do I need a constant internet connection for Pokémon Go?

Unfortunately, the game needs an active internet connection to grab new data depending on your location.

The only way it could work like you suggested is if the game would cache the entire map (inclusive of pokémon locations and encounter triggers) and handle this entirely client side. The game is highly likely not to work this way, as the predecessor that this game was based off of didn't either (Ingress). In addition, something like that would make the game easier to cheat as the servers would have to completely trust the client.

Edit: An idea I had for your specific case is that you might be able to find apps (or maybe features supported within your mobile OS) that allow you to cherry pick which apps can and cannot use carrier data. This would allow you to only grant Pokemon GO permission to consume data, but be sure to keep an eye on how much it is using.

Edit2: I've been playing Pokemon GO for about 3 hours outside now, according to my Android OS it has used about ~5MB (MegaBYTE, not bit) of data. Depending on your own play style, your mileage may vary of course.