Yeah I can see the sense in that. I'll describe what I did in a little more detail and maybe it will help your ideas:
So during development I have all the images stored separately, along with .PSD files if necessary, and these can be stored in the version control -- just like your idea. I'm just using hg but larger game studios seem to like perforce. When new images are made and the game is started up the atlases are compiled (only the ones that have been changed).
Outside of development builds the function for compiling atlases can just simply be not run, and so no run-time overhead is incurred involving atlas creation. The separate images are not shipped, just the final compiled atlases. The game has no knowledge of the separate images on-disk.
The hard part might be how do you refer to different images in-code and in the editor tools? By string, or some kind of integer ID? The solution I chose was to refer to all resources (including images) by hashed filepath, so the run-time never actually uses strings when dealing with any resources. The development build stores a large table of ID->strings so that editors and debug tools can see human-readable names. This table is not used by the game itself (outside of debugging and logging), and disappears for shipping. When the code refers to an image by ID it finds both the owning atlas and UV coordinates.