/fill x1 y1 z1 x2 y2 z2 <block> <block ID varient> replace <block> (block ID varient)
Note: Value inside <> is necessary; () are for certain blocks; <> are not needed in command
So, as an example I could type "/fill 123 79 56 123 0 56 air 0 replace stone 1" to remove all Granite within a certain area. Note that you can have items if you try to place decoration plant blocks, for example, double_plant 0 instead of air 0 to spawn sunflowers.
For your first question, no. And for both questions: Where I live there is such poor internet that when I posted the thread it literally took me 2 hours of trying. When I finally posted it, the paragraphs explaining the content was replaced with several lines beginning with "left". At that point it was about 1:30 p.m., and I was too tired and frustrated to edit it. In the paragraphs I explained how I wanted to post an easily accessible source for replacing blocks in a copy-paste format. I linked the video to show my source information, because in it dandagames only shows glimpses of the format, going on to show off how neat the command is. I will try to fix the thread as quickly as I can, I appreciate your concern.