Retrieve a task by ID for a session. Returns null if not found, expired, or belongs to different session.