If you're looking for a word that's less offensive, you could use vixen. It often means a woman who is devious but in an intriguing or sexy way. A dictionary defines it as:
- a female fox
- a shrewish, ill-tempered woman
- a sexually attractive woman
https://www.merriam-webster.com/dictionary/vixen
The word "shrewish" is a more old fashioned and less offensive synonym for "bitchy."
With the other examples you gave, you could make them less offensive by using the word "devil," as "she-devil" is slang for a devious woman in English.
A charming devil.
A lovely devil.
Also, in your specific example, where she left in the middle of dinner, an affectionate term would be "tease," as in:
She was a real tease.
Another word that refers to a mischievous but charming woman is gamine:
a girl with mischievous or boyish charm.
In the comments, the term "femme fatale" was brought up. In literature, the word femme fatale often refers to a woman who is seductive but leads a man to disaster or misfortune. This term would most likely be used when analyzing or discussing a story, as it is more of a literary term than the others. The term derives from French for "fatal woman."
In your case, femme fatale is probably not as appropriate because the female was mischievous, but did not lead you to any harm.