Not sure about InApp purchases… i think not.
By coding in C++ you extending code of engine, so there no limitation hat you can do, you can do anything what C++ can. UE4 uses own build menager called UBT and you need to edit build scripts in source directory to add extra liberies, here tutorial how to do it:
UE4 is strictly C++ because it macro trickery stuff in reflations (UHT), but if you try to find some hackery you might find a way to build some ObjC in to UE4. In case of Java, every Android application requires Java code, native code in Android works under supervision of Java application, UE4 is no diffrent, so if you want to add extra Android Java code you can do that. You can find Java portion of UE4 in Engine/Build/Android/Java, also i bet you will find more information on that in UE4 Android forum