even you knew you the structure of your pkg xml well enough, it will be a big deal to modify / create your package from xml directly as the XML is really big and bulky and complex (you can use it however to, lets say undo a change....Ctrl +Z....which is otherwise not applicable in SSIS BIDS user interface)
The ways to create your SSIS :
BIDS Designer (which you already know)
.NET code using SSIS Object Model
Of course you can call your .net exe / dll using sqlcmd.... :-)
Using some undocumented SQL Server Stored Procedures(but really should not be done this way)
Basically, SQL Server has some SPs(undocumented) like sp_OACreate, sp_OAExecute to create COM objects etc. So you can use such SPs to use the SSIS Object Model. But like i said above, that will be very very difficult and really ahoudl never be attampted.
Hope this helps.