Short answer: not really possible without some ASM work.
Long answer: the game handles the special world graphics by having a hardcoded overwrite of GFX01 (replacing the first 64 tiles of it with GFX31). You can find this code at $00AA6F. To apply a similar effect to other sprites, you would need to either immitate that code for other graphics files, or you would need to write the tile/palette swaps into the sprite's graphics routine itself. Using the default Special World level (125), you can check whether the special world is passed like so:
Code LDA $1EEB
BMI .special
; code to run when special world is not passed
.special:
; code to run when special world is passed
(if you change the special world level, you will need to use the corresponding address in the table at
$1EA2 in place of $1EEB)
Professional frame-by-frame time wizard.
YouTube -
Twitter -
SMW Glitch List -
SMW Randomizer