Nem. Ugyanis a * kifejtését a shell csinálja, és utána az így összeállt parancssort hajtja végre, ha "belefér". Ha nem, akkor nem.
A for i in $( find ...) ; do ... satöbbi, vagy a find ... | csinalj_a_stdin-en_kapott_nevu_fajlokkal valamit esetén lehet akármekkora a find kimenetének a mérete, csak blokkolódni fog a find a cső telerottyantása után - de ahogy ürül a cső, megy tovább.
Jól írod az xargs-t, viszont a for i in * esetén pont ellene beszélsz azzal, hogy limit nélkül kéred a shellt a behelyettesítésre és a parancssor feldagasztására :-)
A bash (GNU bash, version 4.1.10(4)-release (i686-pc-cygwin)) megeszi az 512k-nál nagyobb méretűre * behelyettesítést (ls | wc -c nagyobb, mint 524288), nagyobb mérettel nem próbálkoztam, más shell esetén viszont rejtélyes hibát tud okozni a "mohó" behelyettesítés.