I have a few ideas. My first is you could look into setting up Relationship classes between your point file and a stand alone table in your geodatabase. You could write a simple script that runs the Table To Table conversion tool every night to copy the excel file into the geodatabase for the Relationship class.http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Relationships_and_ArcGIS/004t000000010...My second suggestion is you do exactly what you said and use a script to go from excel file to XY event layer, then export that into the geodatabase. You can also set this up as a scheduled task to run every day. Here is a simple example script showing how to do that:
import arcpy, os, sys, traceback
from os import path as p
arcpy.env.workspace = ws = r'C:\testing'
xls = r'C:\testing\Cedar_Network.xlsx\Sheet1$'
spa_ref = r'C:\Program Files (x86)\ArcGIS\Desktop10.0\Coordinate Systems\Projected Coordinate Systems\State Plane\NAD 1983 (US Feet)\NAD 1983 StatePlane Iowa South FIPS 1402 (US Feet).prj'
layer = 'XY_Event'
outfold = r'C:\testing\test.gdb'
output = p.join(outfold, 'control_points')
arcpy.MakeXYEventLayer_management(xls, 'EASTING', 'NORTHING', layer, spa_ref)
print 'Feature Class Created'
# Get the traceback object
tb = sys.exc_info()
tbinfo = traceback.format_tb(tb)
# Concatenate information together concerning the error into a message string
pymsg = "PYTHON ERRORS:\nTraceback info:\n" + tbinfo + "\nError Info:\n" + str(sys.exc_info())
msgs = "ArcPy ERRORS:\n" + arcpy.GetMessages(2) + "\n"
# Return python error messages for use in script tool or Python Window
# Print Python error messages for use in Python / Python Window
print pymsg + "\n"