"Clean building'" something means it will be recompiled although it's in theory not necessary, because the source code didn't change. The sources don't exist in a vacuum tho, there could be changes e.g. to compilers that lead to changes (like new optimizations) in the compiled code, despite the source code itself not changing. This can also be a remedy to faulty build rules / makefiles / the things that describe how stuff needs to be compiled. Also for corrupted files, because the files are obtained from the online repo again.
yay gives you the option to cleanbuild stuff on every upgrade. Unless you encounter problems, "None" will always be fine to choose. This safes you the time (and disk wear) it takes to rebuild everything.
I don't really know what 'I' and 'No' do that distinguishes them from 'A' in meaningful way tbh.