If the battery voltage is approximately known, there is the possibility to use a series resistors to dissipate some of the power. Even without switching different resistors this could about cut the maximum power for the MOSFETs to something like a third. However it still needs high power resistors - though this does not have to be a stable one.
The circuit looked for is a kind of electronic load. It takes a little more than just the Arduino, DAC and MOSFETs. Usually one needs an OP to control the current via feedback from a current shunt. So the MOSFET is not operated in the ohmic region, but more in the "constant current" range. The feedback is usually needed, as the current will change with temperature.
For higher power it is common to use smaller units in parallel.
For a MOSFET of BJT in a TO247 case, something like 100 W is about the practical limit. More is possible, but cooling gets increasingly difficult. The power ratings on modern MOSFETs is more like a theoretical number, not really relevant.
As a beginner, one should start small, so try it first with maybe a single MOSFET for maybe 40 W - so maybe 2 A at up to 20 V.
Even if only in 20 V range, higher power circuits are dangerous. Parts can explode due to to much power and DC arcs don't stop that easy. Overheating batteries are also a danger. So at the very least, don't forget the fuse(s).