One of my projects is to make program for creating textures. The program would have support for making various tilesets (rectangular for topdown view, diamond and hexagonal for 2D isometric, and aditional tilesets used for wals in isometric games).
So far I haven't thought of making support for blending two existing textures together but it could be doable since I do have alpha chanell support.

But due to the rate my programing is progressing lately I'm afraid it won't be finished for anytime soon.