Quote from taledenFair enough :)
The way Auracle does this is it uses a placeholder question-mark icon at first, and then the first time it sees the buff it's looking for, it remembers the icon texture (from UnitAura()). Then when the buff is missing in the future, it still has the icon texture name saved.
The advantage is you don't have to look up SpellIDs, you can just use buff names like you were planning on; the disadvantage is each thing you want to watch will have to be seen once for your addon to store its icon texture.
Yes, this is what I ended up doing. The convenience of being able to just enter buff names makes up for that slight disadvantage for me.