The components in SSIS are written in C#, so you should get no performance boost going to a script component over a data flow component. I would be interested to know what the benchmark performance difference is between two identical packages that implement the conditional split via the Conditional Split component vs a Script Component. You may have a performance bottleneck elsewhere.
You mention that splitting is handled dynamically, can you please be more specific on what the rules are for that? Typically, row splitting can be handled with a Derived Column transformation that can create a new column called RowSplitIndicator that can be a bit, int, string value. From there, the row can be Conditionally Split based on whatever value is in the RowSplitIndicator. This simplifies the overall design in the event that the split logic is complex.
The answer to your question, however, is that you first need to add a row to the pipeline buffer and then you can assign values to the buffer's columns:
MyAddressOutputBuffer.AddRow();
MyAddressOutputBuffer.OutputColumnName = YourVariable;
Note: your script component is now asynchronous in the sense that there is one row in and there are many rows out.