The question to allocate harddisks on specific SCSI Id addresses is occurring quite often (MSCS Clusters, legacy apps...)
This can be done through the vSphere API ReconfigVM method, but seen the frequency of this requirement popping up, I suggest to add the Bus and Disk Ids as parameters to the Harddisk cmdlets.
In my opinion this belongs to the 80% that shall be covered with a cmdlet.
The New-HardDisk does have the ability to identify the SCSI Controller (if that's what is meant by "bus") with the "-Controller" parameter. We do this in our environment today. What it DOESN'T include is the ability to define the UnitID of the disk, nor any of the other common settings required for shared disks (and in our particular case where we use vvols, the 'Multi-writer' flag, and the ability to disalbe CBT). I just added https://powercli.ideas.aha.io/ideas/PCLI-I-579 for this very thing today.