I don't believe you can edit pre-loaded resources at run-time. You have to make a copy of them and edit the copy, and from what I've read, GM does not handle run-time sprite editing particularly well (memory leaks abound with functions like sprite_set_alpha_from_sprite). A better (but more complex) approach is to draw your sprite to a surface, and then do as Simon Gust suggested -- set your blend_mode to bm_subtract, your draw_color to c_black, and your draw_alpha to 1.0, drawing over the regions of the surface that you want to remove. Once you've modified the surface, you can convert that to a sprite and draw it as normal (you'd need to set the mask and offset information to the originating sprite's information), or keep it as a surface and draw it as though it were a sprite by subtracting the originating sprite's x and y offset values from the coordinates that you want to draw the surface at. Note that if you don't convert to a sprite, the collision mask of any objects using the modified sprite won't reflect the changes being made to it.
An alternative to the method of editing the surface proposed above, you can also convert the surface to a buffer, buffer_seek to the pixel locations you want to edit, set the alpha channel's byte to 0, then convert the buffer back to a surface and go from there. The surface information is stored linearly, left to right, top to bottom, in 4 1-byte color channels (bgra, is the order, I believe), making finding the right pixel a very simple matter.