This isn't hard to do with the setup you already had, with all of your goals and limits, and what you have shouldn't be difficult to adjust-- maybe you'll understand better how to adjust things after reading this and working with it a bit.
From left to right: unposed; posed; posed with physics:
The hose is an arrayed object, curve deformed by a 3-handle bezier curve (although a NURBS should work if you'd prefer), parented to the outlet. The curve has stretch and bounds clamp enabled, and is parented to the same outlet. (This is important because for curve modifiers to work well, the first handle needs to be in the same location as the curve origin, so we don't want our first handle sliding about.)
The second and third handles are hooked (no falloff) to empties. For the third handle, this empty hook is then parented to our other outlet (inlet?) The empty in this case is optional, you could hook directly to the mesh object.
This gives you a structure where the hose follows both of its connection points, and gives an additional center point for you to animate yourself.
What about physics? Curves actually have a very good softbody implementation that allows for guidable physics. Start by setting the weight of both end controls of your curve to 1.0. (You can do this in the item tab of the sidebar while in edit mode with one or more controls selected.) Then, give the curve a softbody modifier. Finally, set your curve's physics settings appropriately-- you'll definitely want a goal default of 1.0, and you will probably want a goal Min of something larger than 0. Hit your timeline's play button and try it out-- and try move the central hook empty while playing.
Note that while this gives you physics on the curve, it doesn't give you collision-- your actual curve is just a line. You can disable rendering on the curve object and give it a bevel to create an actual surface to the curve for it to collide.
You could also skip the softbody physics and use rigid body physics, parenting your central empty to a rigid body (itself appropriately constrained to passive/animated rigid bodies).
With physics, you may see some inappropriate deformation of the tube. Dealing with that is somewhat out of scope for this question, and dealt with elsewhere on Stack Exchange, but one way to handle it would be create a spline IK armature or a skin-modifier created armature for your curve and use that instead of a curve modifier to deform your tube. This isn't as adjustable, though, as armatures don't have the same tools for non-destructive editing as curves do.
Edit: you can't give it a bevel to give it collision. It will only ever collide with the verts on the curve. To give it depth, you will instead have to scale up any collision meshes that might collide with it.