Is it possible to create a gif or video NFT? For example, every time the user clicks on the image, an animation plays once or on repeat over the image. I do not see any guides on this and would appreciate anyone's insight, thank you.
All of the examples you give are things you can do off the blockchain.
Typically NFTs for art just prove ownership of that art. Sometimes they will include some small piece of metadata that describe the attributes of the art (see Crypto Kitties). This is why people make jokes about how one can just “right click, copy” someone’s NFT.
Not that ownership isn’t important or interesting, just that you can theoretically designate ownership with an NFT for anything you want: an animated gif, video, a website, a tree, your house, etc.
How to create a programmable NFT?
Technically, you can program dApps to interact with your NFTs and do lots of interesting things. You wouldn’t be able/want to program the animation of an NFT on chain though. That’s not the purpose of smart contracts, generally speaking (not here to stifle creativity). You could include metadata about what kind of animations or interactions the NFT art might have, but the actual animation would still happen using off-chain software and there are infinite ways one might go about that.