i think the best way to do this would be using the change group modifier:
- Create a Spline for your particle direction and use it as input for xpFlowfield
- Create two Particle Groups: First Group assigned to FlowField and Turbulence, Second Group to a Gravity
- Create two Tubes from the Spline with Collider tags assigned to your groups with different friction values
- Use xpChangeGroup with a falloff to control the particles that will stick to your geo
Here an example setup: ChangeGroup_within_Tube.c4d
Concerning Explosia within enclosed objects you basically need to build a shell of EFX Colliders around your model if the model is not made of seperate parts already.. Explosia will treat these as volumetric vector fields. Also highpoly models will be very slow in EFX therefore i recommend to use simple primitives as colliders.
Here an example: