I don't think tilemaps should be the end all for things as then the sprite object would not be used as much.
I think a better way to refer to the sprite object is calling it an entity.
Tilemaps are the environment, so you want to modify the environment. However in major games the base environment is static while the environmental objects that are not static are entities.
There is a couple ways to do what you want
1) Use a 2nd tilemap (you said it was inflexible)
2) Use tiles that are blank/bright colored and have the game on load check for those tiles in the tilemap, change the tiles, and spawn entities there.
This makes it so you automate the entity creation and can modify and re-parse the tilemap accordingly during runtime.
3) Manually place the entities.