Q:

umask XXX (permission bits) to give execute permission to files

Because files created by default having permission of 666 and umask (in permission bits form) subtract bit-wise from this permission, can we do something to give execute permission without using permission character (r,w,x) ?
I am refering to using bit-wise mask, e.g
umask 002

not setting permission character such as
umask u+x
umask u=rwx

A:

This is not possible. umask only prevents permissions but never adds them. Thus you get execute permission only if the creating open() syscall does contain them. This is the case if a compiler creates an executable file.

