Yes, you can make maps for your game and load them dynamically at runtime. As Aeal said, there are ways to make level editors. I'm currently using a map system for my game that I adapted from one of David's level editor examples:
His example was for non-linear levels, but you don't need to have angle and size information if you don't need it (you can make your level on a grid, in other words).
Also, his example uses text copied from the clipboard but you can change that up to use ini files without too much hassle.
Making an actual level-editing program is another thing entirely... I just use the Construct IDE