The ODBC account has read/write permission. Can it create a stored procedure in the database or not?
The problem with this question is that we don't really know what you are talking about. What "ODBC account"? There is no such thing as an "ODBC account" in the SQL Server world. Maybe you have an application that uses ODBC and that uses a login hardcoded into the application, and this is the account you are talking about, but we can only guess.
And when you say read/write permission, we don't know exactly which permissions you have granted. The interpretation that is closest at hand is that the account you are talking about have SELECT, INSERT, DELETE, and UPDATE permissions, alternatively membership in the fixed roles db_datareader and db_datawriter. And if this is the case, the account has no right to create stored procedures. But we don't know all details. Also, the account could be member of a role that has permissions to create procedures.
Anyway, you can find out yourself this way:
EXECUTE AS LOGIN = 'the ODBC account'
go
SELECT * FROM sys.fn_my_permissions(NULL, 'DATABASE')
go
REVERT
That is, you impersonate the ODBC account, and then you request to see which permissions you have on database level as the ODBC account. If you see CREATE PROCEDURE in the list, the account has permission to do exactly that.