What happens when I connect low ohm resistor to arduino I/O?
If you make the diagonal load line in your figure more vertical, it’ll intersect at higher \$I_S\$ and \$V_{DS}\$ values, so the power dissipated is going up. 

Start with a real output curve, such as this one from an AVR128A (see page 444 of the specification):



I added the red line to correspond to 100 ohms from 5V, and the blue one for 250 ohms from 5V.  The red one intersects around 40 mA, and the blue one at just under 20 mA.  Now compare that to the specifications:


  absolute maximum when running at +5vdc is 40ma, with 20ma a recommended continuous working current rating limit.


So using 100 ohms is right at the absolute maximum, and in some cases will exceed it.  (That's particularly problematic if you're doing it on multiple pins)

You can directly calculate a normal operating point using the DC specs (page 414):


At 20 mA, the pin is at or below 0.9V (in 5V operation). That's more conservative than the curve in the figure, because this is how the logic output level is defined.  So you can calculate:

\$ 5 \rm{V} - 0.9 \rm{V} = R \times 20\rm{mA} \$

\$ R = 4.1 / .02 \sim 200 \rm{Ohms}\$

As to the original question "What happens when I connect low ohm resistor to arduino I/O?": Transistors have limited thermal capacity. When the current through one times the voltage across it (i.e. power dissipated) exceeds a limit, the transistor is damaged. 

In the case of driving a resistive load connected to ground instead of to +5V, the calculations are similar. The specification says that sourcing 20mA (the minus sign means "leaving the pin") you can expect 4.2V on the pin, from which you can calculate the minimum resistance of about 210 Ohms.  And page 443 of that specification has the appropriate graph if you'd like to do it that way: