Is is possible to decode native code compiled and liked to android through ndk ?
One can disassemble; there are C/C++ decompilers, but for really complex code they are nearly useless.
and is it possible from the apk to reconstruct the project and import it to eclipse (or any other IDE)?
it is possible to baksmali (disassemble) an .apk, to fix something in it, and to smali (assemble) it again. One can substitute some function calls by other function calls, and one can add new classes.
Decompiling to Java is also possible, but the code likely will not compile, so it is rather about analysis than about modification.
Obfuscated code is still readable, provided that they invest some efforts in analysis.
You can obfuscate the code, but they will see icons, they will find the resource ids, and they will find the onClick() button handlers.
is it possible to use the .so files in the apk file again to reconstruct the project or with another project if the java native
function declaration is done appropriately?
They will have no problem with using .so as-is with another project (unless someone asks them to fix a bug in that .so). In the same way, they can make a .jar from your .apk and use that .jar as a library with another project.
In general, a .so it a bit more difficult to tinker with than a .jar .