So I could keep the same file tree, but delete songs?Would that crash the playlist,or just skip the missing songs?
What are you asking?
I think he wants to hear:
if a track in a playlist isn't present on the player it will get skipped.
But I really don't understand how a playlist could crash

As for the database topic: two files having the same metadata (i.e. that part of the metadata the database uses) doesn't necessarily mean it's the same file. Or even the same content. You would need a way to handle this, which isn't trivial.