how can search for files that are non-zero length but are empty?
That's not really something that can happen. A non-zero file is, by definition, not empty.
To find a file that contains nothing but '0' characters. I'd try something like this
for file in <filenames>; do if egrep -v -e '^0*$' $file > /dev/null; then echo "do nothing" > /dev/null else echo "{}"; fi ; done