Actually, maybe it isn't. If the storage is aligned on 32 bits in memory, using one more byte to store a color component won't be a resource hit.
You just need a very basic fragment shader in which you pass the alpha component, the sampler for the texture and the texture coordinates in input and you modify the alpha component of the color in output. You may have to enable the blending.