You should load your bitmaps in an array.
then on the map sectors you only need to store the number of the bitmap used.
then when drawing, just look at the number and you will know what bitmap to draw.
to change the bitmap, simply change the number on that square and the tile will change with no loading etc.
When loading the array, if you malloc it, you can have unlimited bitmaps, and if you save the bitmaps something like bitmap1.bmp, bitmap2.bmp ...
its very easy to cycle through a folder trying to load bitmaps until you fail, this will tell you how many bitmaps you have, so you will know how much space to allocate then load them.
This way, to add new bitmaps, all you have to do is drop them into the folder and your code will automatically load them and assign them a value.
There are many more changes you can make to this, so that you can load related graphics, ie graphic type 1 is grass, so any graphics i call bitmap 1_X.bmp will be treated the same, so when you paste down grass, you know type 1 is grass, there might be 1 or 30 grass images, provided you also keep the frame number, you could easily do animation, or just simple random grass tiles etc.