I wonder if you could try the following (requiring ArcInfo license):
1. Run the Feature Vertices To Points tool with START (for starting point) option to get the fromPoints of the lines. These points will carry line attributes and an ORIG_FID field.
2. Run Spatial Join tool to join each of the fromPoints with its intersecting lines. Or you can try Select By Location to select intersecting lines for each fromPoint.
3. From here you probably need to write some script to loop through each fromPoints and its associated set of intersecting lines to compare their road names; if an intersecting line has a different road name from the point, can you assume it is a cross road? Then you can find that road through the ORIG_FID of the point and calculate/write the cross road name to a field.
If the above works, you can repeat it for the END points.
Sorry I don't have time to test the workflow; hope it gives you some lead.
Regards,