Based on the comment under my question about inner joins, I came to this solution and it looks to work very well. This approach will only work if the data that is being inserted is unique in the set.
Modified table, type and stored procedure to accomplish my needs for a correlation ID:
Create Table PhoneTable
(
PhoneID int identity(1,1),
PhoneNumber varchar(20)
)
GO
Create Type PhoneType As Table
(
PhoneNumber varchar(20),
CorrelationID bigint
)
GO
Create Procedure usp_Phone_Insert
@Input PhoneType ReadOnly
AS
Declare @Output Table (
PhoneID int,
PhoneNumber varchar(20),
CorrelationID bigint)
Insert Phone (PhoneNumber)
Output
inserted.PhoneID,
inserted.PhoneNumber
Into @Output
Select
PhoneNumber
From
@Input
Select
O.PhoneID,
O.PhoneNumber,
I.CorrelationID
From
@Output O
Inner Join @Input I on I.PhoneNumber = O.PhoneNumber
GO