See attached MAP file for a take on 1.
There is a new drawing named [Streets] and a query named [Compose Streets] that populates it. The query groups locations visited for each street on each particular day and creates a line for these locations in order they were visited. I don't know if you need a separate line for each customer, if you do, this is easy to add. I do not completely understand what you mean by "if another street is connected to the current street, it must be the same line for this day".
INSERT INTO [Streets] ([YMD], [StreetCode], [Geom (I)])
SELECT [YMD], [StreetCode], ConvertToLine(AllCoords([Geom (I)])) AS [Geom]
SELECT Left(vd.[DateTime], 10) AS [YMD],
lgis.[StreetCode], lgis.[Geom (I)]
FROM ([VisitData] vd
INNER JOIN [Location_CRM] lcrm ON vd.[LocationID] = lcrm.[LocationID])
INNER JOIN [LocationGIS Table] lgis ON lcrm.[StreetID] = lgis.[StreetID]
AND lcrm.[LocationPoint] = lgis.[LocationPoint]
ORDER BY vd.[DateTime]
) GROUP BY [YMD], [StreetCode]
You can overlay the lines with other layers in the map. The lines zig-zag a lot, so I checked whether those zig-zags are in the data (see my other query), and they indeed are.
Hope this helps a bit.