All three or four way intersections or non-intersecting crossing lines that dissolve are by definition going to form multi-part lines, since single part lines by definition can only have two end vertices and only two segments maximum can meet at any connecting vertex.
The way to do this is as follows:
- Buffer the lines a very, very small amount and create a single feature (multi-part polygon).
- Explode the polygon buffer into its separate parts to form polygons that cover only the lines that touch within the very, very small buffer distance.
- Calculate a long field in the polygons to be equal to the ObjectID of each exploded polygon.
- Use the Spatial Join tool with the lines as the target and the polygons as the join features.
- Dissolve the lines created by the spatial join output using the long field from the polygon that has the ObjectID of the polygon as the Dissolve field (Case field). Make sure the Create Multipart feature option is checked and the line ends option is unchecked.
You will end up with what you are looking. Every lines that touches another line at any crossing or intersection of any kind will have merged into a single polyline feature. These polyline features will nonetheless be a multi-part line feature anytime a line crossing or 3-way or greater intersection exists.