1) How long does it take Altiris to internally update the IP on a PC?
Agent sends inventory 30 minutes after the IP address change, this is controlled by the registry entry "Network Event Inventory Interval (secs)" under "HKEY_LOCAL_MACHINE\SOFTWARE\Altiris\Communications" folder.
At some moment in the past that interval was set to 3 minutes but that caused too many NSEs, turned out the clients change network very often.
It was increased to 30 minutes deliberately.
2) Is there a way to push a task to an IP address instead of a PC name?
No. There is no actual difference between executing the task/job by client name or by client ip address - eventually, the Task Server works only with the client ID for the task/job execution. Whenever you execute the task on the client the data required for the task execution is assigned to the client ID in DB. Whenever the client registers within the Task Server, it registers using its ID. The Task Server retrieves the data for task execution from DB based on the ID of the registered client.
3) Is it possible to either (a) manually update the IP on a PC or (b) force Altiris to update its IP to PC name database?
That's the same as with the task, you can force the agent only if you know how to contact it. Updating manually tables in the database with newer IPs is not supported. You may try to decrease the "Network Event Inventory Interval (secs)" to something like 15min but I would not suggest going lower than that.