I have very little internal storage installed on my Nexus One. Almost every app I am installing fires a system low on internal storage notification. I moved all applications to external storage but it seems like the application is still using internal storage for application data and cache. Is it possible (on a non-rooted or rooted phone) to make an application run completely from external storage?
It does not make the app use external storage. The built-in move to sd functionality only moves the application package file itself to the external storage.
If you want the app to not use the internal storage you'll need to root (and possibly install a custom rom.)
Depending on your rom you'll have several options to do what you want but virtually all of them require you to partition your sdcard in a special way (usually the custom recovery can handle this.)