Sorry for the late response but I just happened on this forum looking for help on another topic. I too needed a way to add Lat/Long fields to my records for reference from other non-spatial applications. I wrote an ArcPy script which adds and calculates Lat/Long fields for all visible feature layers in your map (so if you don't want fields added to a layer then turn it off!) You would need to make 2 revisions to this code in order to make it work for you: 1) This script creates a temporary layer, WGS_Output, which is created in WGS_1984 coordsys. You need to modify line 5 to point at your default workspace. 2) Line 12 performs a join between the original layer and the WGS_Output layer. I used the OBJNAME field which is a required/unique field generated by the Topcon Survey Controller we use. If you don't have a unique field like this you will need to add one to successfully perform the join.
import arcpy
import getpass
user = getpass.getuser()
mxd = arcpy.mapping.MapDocument("CURRENT")
WGS_Output = "C:\\Users\\"+user+"\\My Documents\\ArcGIS\\Default.gdb\\WGS_Output"
for lyr in arcpy.mapping.ListLayers(mxd):
if(lyr.visible & lyr.isFeatureLayer):
arcpy.AddField_management(lyr.name, "LONGITUDE", "DOUBLE", "", "", "", "", "NON_NULLABLE", "NON_REQUIRED", "")
arcpy.AddField_management(lyr.name, "LATITUDE", "DOUBLE", "", "", "", "", "NON_NULLABLE", "NON_REQUIRED", "")
arcpy.Project_management(lyr.name, WGS_Output, "GEOGCS['GCS_WGS_1984',DATUM['D_WGS_1984',SPHEROID['WGS_1984',6378137.0,298.257223563]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]]", "NAD_1983_To_WGS_1984_5", "")
arcpy.AddXY_management(WGS_Output)
arcpy.AddJoin_management(lyr.name, "OBJNAME", WGS_Output, "OBJNAME", "KEEP_COMMON")
arcpy.CalculateField_management(lyr.name, lyr.name+".LONGITUDE", "[WGS_Output.POINT_X]", "VB", "")
arcpy.CalculateField_management(lyr.name, lyr.name+".LATITUDE", "[WGS_Output.POINT_Y]", "VB", "")
arcpy.RemoveJoin_management(lyr.name, "WGS_Output")
Good Luck,
Mike