A simple enough way to prevent dungeons from being to long is adding reasonable checkpoints based on the casual player. So they could simple have dungeons that take 1-4hrs to complete but add a checkpoint every 45mins aka an area that should take 45 mins to get to to save your progress and continue on without having to start back from the start. Then you can just pick up where you left off with your friends and continue progressing through the dungeon without having to worry if you have enough time to do it.