You are addressing the wrong problem.
The real problem is that this diode package is crap. This kind of problem is one reason it's usually better to make your own packages than to use things you find lying around in some dark corner of the web.
None of the package outline should be over the pads in the first place. Most board houses will automatically clip the silkscreen to the soldermask, but you shouldn't rely on that. In this particular case, it will be difficult to see the diode polarity once the cathode bar is clipped to the soldermask. There may be little or nothing left, depending on registration, and how conservative the board house got with tolerances.
The "4148" is likely not a problem at all. In a competently designed package (OK, that may be a stretch here), that would be text in the tValues layer resulting from the VALUE variable.
You assume up front that values and labels text will overlap things or be in inconvenient places anyway. Ignore this during part placement and routing. Once that is done, you smash all the parts and clean up the text placements. So the real answer is that "4148" should simply be moved to someplace it doesn't cause trouble.
In a dense layout where there is no place nearby, just "delete" it from the silkscreen. You can't actually delete the text, but you can move it to a layer that doesn't contribute to the silkscreen, or anything else. I always create layer 101 and call it "trash" for this purpose.
Find whoever made this mess of a package, and run away. Delete anything else you got from the same source, as none of it can be trusted now.