Is this possible? if so some pointers would be much appreciated - thank you

Because there isn’t a consistent number of drives per machine it might be kind of wonky to setup columns for all drives.

One thing that might work better is two columns Computer and Drive and then in the -Render for the drive, you could include all the drives free space.

New-UDDashboard -Content {
    $Computers = 1..10 | ForEach-Object {
        $Computer = @{
            Computer = "Computer$_"
            Drives   = @()
        }

        1..5 | % { 
            $Computer.Drives += [PSCustomObject]@{ Letter = (65..90 | % { [char]$_ } | Get-Random); FreeSpace = (Get-Random -Minimum 1 -Max 500) }
        }

        $Computer
    }

    New-UDTable -Data $Computers -Columns @(
        New-UDTableColumn -Property Computer -Title "Computer"
        New-UDTableColumn -Property Drives -Title "Drives" -Render {
            New-UDStack -Direction row -Children {
                $EventData.Drives | Sort-Object -Property Letter | ForEach-Object {
                    New-UDElement -Tag Div -Content {
                        if ($_.FreeSpace -lt 100) {
                            New-UDAlert -Text "$($_.Letter): | $($_.FreeSpace) GB"  -Severity error
                        }
                        else {
                            New-UDAlert -Text "$($_.Letter): | $($_.FreeSpace) GB"
                        }
                    } -Attributes @{
                        style = @{ width = "200px"}
                    }
  
                }
            } -FullWidth -Spacing 5
        } 
    ) -OnRowExpand {
        New-UDTable -Data $EventData.Drives 
    }
}

I also included an OnRowExpand if you wanted to include some additional info on each computer.